Messagebox弹窗
MessageBox指的是显示一个模态对话框,其中包含一个系统图标、 一组按钮和一个简短的特定于应用程序消息,如状态或错误的信息。消息框中返回一个整数值,该值指示用户单击了哪个按钮。
例子:
本文介绍了用C++、Python实现弹窗和它们之间的对比
C++弹窗
(用visual studio写的代码)
首先,用到的头文件是<windows.h>
#include <Windows.h>
弹窗函数:
Messagebox(NULL,L"内容",L"标题",按键|图标)
举个例子:
#include <Windows.h>
int main()
{MessageBox(NULL, L"hello world",L"title",MB_OK|MB_ICONASTERISK);return 0;
}
运行结果:
按键形式:
MB_OK:只有一个按键,实现:确定
MB_ABORTRETRYIGNORE:三个按键,实现:中止、重试和忽略
MB_OKCANCEL:两个按键,实现:确定和取消
MB_RETRYCANCEL:两个按键,实现:重试和取消
MB_YESNO:两个按键,实现:是和否
MB_YESNOCANCEL:三个按键,实现:是、否和取消
图标形式:
MB_ICONASTERISK:i图标
MB_ICONQUESTION:问号图标
MB_ICONERROR:错误图标
MB_ICONWARNING:警告图标
挺新奇的吧?咱们这样的话就可以随意组合按钮和图标了~
MB_ABORTRETRYIGNORE、MB_ICONERROR 组合结果:
以上就是C++弹窗的教程部分
Python
python弹窗就有点死板了,不能实现C++的那样创意组合,因为他已经给你确定好每个弹窗形式的按键个数了
首先,导入tkinter.messagebox库
import tkinter.messagebox as messagebox
from tkinter import *#待会儿这个也有用
我们还得去掉tkinter窗口,所以
win=Tk()
win. Withdraw()
然后介绍一下弹窗函数:
有showinfo、showerror、showwarning、askquestion、askokcancle、askyesno、askyesnocancle、askretrycancle
举个例子:
import tkinter.messagebox as messagebox
from tkinter import *
win=Tk()
win.withdraw()
messagebox.showinfo("title","hello world")
结果:
欸,好像比C++好看点
以上是python弹窗的教程部分
对比来了
咱要是把C++、python代码行数压缩,两者代码行数是一样的。
python代码:
import tkinter as tk, tkinter.messagebox as messagebox
tk.Tk().withdraw()
messagebox.showinfo("title","hello world") #感谢Hann Yang提出宝贵建议
C++代码:
#include <Windows.h>
int main(){MessageBox(NULL, L"hello world", L"title", MB_OK | MB_ICONASTERISK);} //我试了,可以不用return0
但是样式C++比python多,而且C++可以自由组合。所以我感觉C++更好点,有不同意见的可以把意见打在评论区
完