wxpython左侧菜单(第23天25天学会wxPython)
wxpython左侧菜单(第23天25天学会wxPython)wx.YES_NO:显示一个Yes和一个No按键;wx.CANCEL:显示一个Cancel按键;import wx import wx.grid # 继承Frame class DialogControl(wx.Frame): account = None password = None def __init__(self *args **kwargs): super(DialogControl self).__init__(*args **kwargs) # 初始化窗口UI self.init_ui() def init_ui(self): # 账号 wx.StaticText(self label="账号:" pos=(35 50))
对话窗口或对话框是大多数应用软件中不可缺少的一部分,它是执行命令过程中人机对话的一种界面。对话框是一个独立的窗口,起到了与用户进行交互的作用,用户可以在对话框中输入信息、阅读提示和设置选项等操作。
你可以使用预定义的对话框,如消息对话框框wx.MessageBox、字体对话框wx.FontDialog和颜色对话框wx.ColourDialog,也可以通过继承wx.Dialog,创建自己的自定义对话框。
23.1 消息对话框消息对话框wx.MessageBox用来给用户展示消息,它的语法为:MessageBox (self parent message caption=None style=None *args **kwargs),其中,message为消息内容,caption是标题,style是一些标记,用来展示不同的按钮和图标。
程序清单:msg_box.py
import wx
import wx.grid
# 继承Frame
class DialogControl(wx.Frame):
account = None
password = None
def __init__(self *args **kwargs):
super(DialogControl self).__init__(*args **kwargs)
# 初始化窗口UI
self.init_ui()
def init_ui(self):
# 账号
wx.StaticText(self label="账号:" pos=(35 50))
self.account = wx.TextCtrl(self pos=(75 50) size=(160 -1))
# 密码
wx.StaticText(self label="密码:" pos=(35 100))
self.password = wx.TextCtrl(self pos=(75 98) size=(160 -1)
style=wx.TE_PASSWORD)
# 登录按钮
login_btn = wx.Button(self label="登 录" pos=(50 120)
size=(180 100))
self.Bind(wx.EVT_BUTTON self.login login_btn)
self.SetSize(280 380)
self.SetTitle("登录窗口")
self.Centre()
self.Show(True)
def login(self e):
account = self.account.GetValue()
password = self.password.GetValue()
if account.strip() == "":
dial = wx.MessageDialog(None caption="账号为空"
message="账号不能为空,请输入"
style=wx.OK | wx.ICON_ERROR)
dial.ShowWindowModal()
elif password.strip() == "":
dial = wx.MessageDialog(None caption="密码为空"
message="确定不用密码?"
style=wx.YES_NO | wx.ICON_INFORMATION)
result = dial.ShowWindowModal()
if result == wx.ID_YES:
print("登录进管理窗口")
else:
print("恭喜你,登录成功!")
def main():
app = wx.App(False)
DialogControl(None style=wx.CLOSE_BOX)
app.MainLoop()
if __name__ == "__main__":
main()
运行程序之后,弹出的窗口如下:
消息对话框wx.MessageDialog()的对象调用ShowWindowModal()方法时,弹出的提示框在窗口中间(居中),调用ShowModal()方法,弹出的提示框在窗口上面,点击弹出框的按钮,会返回一个按键代码,如点击wx.YES_NO中的YES按键,返回wx.ID_YES。样式style的值,可用|进行组合,可选项如下:
wx.OK:显示一个OK按键;
wx.CANCEL:显示一个Cancel按键;
wx.YES_NO:显示一个Yes和一个No按键;
wx.YES_DEFAULT:使用默认的Yes按键;
wx.NO_DEFAULT :使用默认No按键;
wx.ICON_EXCLAMATION :显示一个alert图标;
wx.ICON_ERROR :显示一个error图标;
wx.ICON_HAND :与wx.ICON_ERROR一样;
wx.ICON_INFORMATION :显示一个info图标;
wx.ICON_QUESTION :显示一个question图标。
好了,消息对话框的内容就说到这了,关注我,下一节更精彩。
码字不易,你的关注和转发是对我最大的鼓励,谢谢!
一个当了10年技术总监的老家伙,分享多年的编程经验。想学编程的朋友,关注我,你就赚到了。我正在分享Python、前端、Java和App方面的干货了。赶紧来围观啊!!!
#python##程序员##好平台好讲师##桌面##热搜#