范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

wxPython消息对话框

  实战wxPython系列-015
  对话框(Dialog)是多数 GUI 应用不可缺少的部分。"对话"是指两个或更多人之间的交谈。在电脑应用中,对话框是指一个可以和应用交流的窗口,可以用来输入数据、修改数据、修改应用设置等。因此,对话框是用户和电脑程序交流的重要手段。
  在GUI应用中,常常需要弹出一些提示信息,这时我们就会使用到消息对话框,在wxPython中提供了两种形式的消息对话框wx.MessageBox和wx.MessageDialog,在下面我们将分别演示如何使用这两种形式的对话框。
  一、一个简单的消息框
  消息框(MessageBox)可以给用户提供简单的信息,一个常见的例子就是下载应用,当下载完毕后弹出一个消息框。#消息框(wx.MessageBox)  import wx  class SampleMessageBox(wx.Frame):          def __init__(self, *args, **kw):         super(SampleMessageBox, self).__init__(*args, **kw)         self.InitUi()      def InitUi(self):          #延迟3秒后调用self.ShowMessage         wx.CallLater(3000, self.ShowMessage)          self.SetTitle("实战wxPython: 消息框")         self.SetSize(400, 280)         self.Centre()      def ShowMessage(self):         wx.MessageBox("下载完毕", "信息", wx.OK | wx.ICON_INFORMATION)  def main():     app = wx.App()     sample = SampleMessageBox(None)     sample.Show()     app.MainLoop()  if __name__ == "__main__":     main()
  上面的例子将在3秒后展示一个消息对话框。wx.CallLater(3000, self.ShowMessage)
  wx.CallLater在3秒后会调用某个方法。第一个参数是时间值 (以毫秒为单位),第二个参数是被调用的方法。
  wx.MessageBox 展示了一个小的对话框,其中三个参数,第一个为消息内容,第二个是标题,第三个是一些标记,用来展示不同的按钮和图标。在这个例子中,我们展示了一个 OK 按键和一个 Information 图标。
  图1: MessageBox演示
  二、消息对话框
  消息对话框对话框显示单行或多行消息,它比消息框(wx.MessageBox)更加灵活,可定制更多的特性,比如可以更改消息对话框的图标或者按钮等。
  消息对话框支持如下样式:wx.OK: 在对话框上显示一个OK按钮,它可以和CANCEL按钮组合;wx.Cancel: 在对话框上显示一个Cancel按钮, 它可以和OK以及YES_NO按钮组合;wx.YES_NO: 在对话框上同时显示Yes和No按钮,推荐使用这种样式的时候和CANCEL组合;wx.HELP: 在对话框上显示Help按钮,如果其标签为系统缺省值,则它可以特殊的外观和位置;wx.YES_DEFAULT: Yes按钮为默认值;wx.NO_DEFAULT: No按钮为默认值;wx.CANCEL_DEFAULT: Cancel按钮为默认值;wx.ICON_NONE: 如果可能,在对话框上不显示任何图标;wx.ICON_ERROR: 在对话框上显示一个错误图标;wx.ICON_WARNING: 在对话框上显示一个警告图标;wx.ICON_QUESTION: 在对话框上显示一个问号标志;wx.ICON_INFOMATION: 在对话框上显示一个信息图标;wx.ICON_EXCLAMATION: 同wx.ICON_WARNING;wx.ICON_HAND: 同wx.ICON_ERROR;wx.ICON_AUTH_NEEDED: 显示身份验证所需的符号;wx.STAY_ON_TOP: 使消息框保持在所有其他窗口之上 (目前仅在MSW和GTK下实现);wx.CENTRE: 将消息框置于其父消息框的中央,如果未指定其父消息框,则将消息框置于屏幕中央。在MSW下设置此样式没有区别,因为对话框始终以父对象为中心。
  图1:wx.MessageDialog继承关系#消息对话(wx.MessageDialog)  import wx  class SampleMessageDialog(wx.Frame):     def __init__(self, *args, **kw):         super(SampleMessageDialog, self).__init__(*args, **kw)         self.InitUi()      def InitUi(self):         panel = wx.Panel(self)         hbox = wx.BoxSizer()         sizer = wx.GridSizer(2,2,2,2)          btnInfo = wx.Button(panel, label="信息")         btnError = wx.Button(panel, label="错误")         btnQuestion = wx.Button(panel, label="问题")         btnAlert = wx.Button(panel, label="警告")          sizer.AddMany([btnInfo, btnError, btnQuestion, btnAlert])         hbox.Add(sizer, 0, wx.ALL, 15)         panel.SetSizer(hbox)          btnInfo.Bind(wx.EVT_BUTTON, self.ShowMessageInfo)         btnError.Bind(wx.EVT_BUTTON, self.ShowMessageError)         btnQuestion.Bind(wx.EVT_BUTTON, self.ShowMessageQuestion)         btnAlert.Bind(wx.EVT_BUTTON, self.ShowMessageAlert)          self.SetTitle("实战wxPython: 消息对话框")         self.SetSize(400, 280)         self.Centre()      def ShowMessageInfo(self, e):         dlg = wx.MessageDialog(None, "下载完成", "信息", wx.OK)         dlg.ShowModal()      def ShowMessageError(self, e):         dlg = wx.MessageDialog(None, "错误加载文件", "错误", wx.OK | wx.ICON_ERROR)         dlg.ShowModal()      def ShowMessageQuestion(self, e):         dlg = wx.MessageDialog(None, "确定退出应用?", "问题", wx.YES_NO | wx.NO_DEFAULT | wx.ICON_QUESTION)         dlg.ShowModal()      def ShowMessageAlert(self, e):         dlg = wx.MessageDialog(None, "不允许的操作", "警告", wx.OK | wx.ICON_EXCLAMATION)         dlg.ShowModal()  def main():     app = wx.App()     sample = SampleMessageDialog(None)     sample.Show()     app.MainLoop()  if __name__ == "__main__":     main()
  在上面的例子中,我们创建了 4 个按钮并将之放置到一个 grid sizer 中。这些按钮将展示 4 个不同的对话框窗口,这些窗口在创建时使用了不同的样式标记。
  创建消息对话框比较简单。通过将 parent 参数设置为 None,可以将对话框设置为顶层窗口。接着的两个字符串参数为消息内容和对话框的标题。调用 ShowModal() 函数,可以将对话框显示在屏幕上。
  图2:wx.MessageDialog演示
  三、本文知识点使用wx.MessageBox;使用wx.MessageDialog。
  前一篇:wxPython - 系统常用事件
  请关注,评论,收藏,点赞,和转发。

走不出执念,你我皆是囚徒人的一生很多时候处于种种困境之中,有现实的,也有精神的。如何超越困境?不同的圣者有不同的答案。一切宗教哲学科学的回答,也许只是解脱的工具而已。人为什么会陷入困境呢?柏拉图理想国有一那些神仙句子,建议收藏(星海横流,岁月成碑)1。永远不要认为一个人爱你是理所当然的。大多数努力去爱别人的人,都同样渴望被爱。2。太阳是暖人的,却不止驱寒月亮瞧着冷清了些,却温柔了许多炎凉。3。倘若我辞藻辉煌,我为你写的又何止孙怡离婚后彻底放开了,认真打扮拍时尚大片,真好看对于爱美的女人来说,长相和身材优势只是基础,懂得如何利用这些优势才是关键。生活中拥有高颜值和好身材的人并不少,只是很多人在搭配的时候不知道应该如何处理搭配细节而已。在孙怡的搭配中露王思聪和金发美女一起吃螃蟹,下楼时笑容满面,未戴口罩引发争议最近这段时间昔日的国民老公王思聪算是逐渐高调起来,不仅和新任女友慎婕有很多互动,同时也是多次出游全国各地。而有一位在上海的网友就偶遇到了王思聪前往一家饭店吃螃蟹,与此同时还拍摄到王室内盆栽新宠儿裂叶玫瑰秋海棠,耐阴好养,花和叶都好看导读绿植盆栽已经是家居生活的必备点缀物,它们能给你的居室带来生机勃勃,还能观赏。今天来带大家认识一种室内盆栽新宠儿,它颜值高好打理,开花勤奋,养护也简单,希望大家喜欢。一认识裂叶玫有哪些好看到爆的风衣?风衣推荐平价经典韩系气质大衣秋冬必备秋冬季来临,女孩子的衣柜怎么能缺少一件百搭的风衣外套呢?整理了一份不同色系的风衣分享给大家看看有没有喜欢的!韩系女主的风衣外套来了搭配小tips总被贴上脸大不上镜的标签!阔面脸的变美思路,逆袭成美女姐妹们,1秒之内回答春春这个问题网红脸VS自然脸,你们觉得哪个更好看呢?回想前几年,眼大鼻高锥子脸成了审美的标准,好多原本清纯可爱的女生,为了迎合这样的网红审美观,去整成了僵化不自带我去旅游第十二站山东梁山县头条创作挑战赛世界太大,我们太小时间太快,我们太慢。很多地方,我们不可能都走到,但是利用信息的便利,可以用眼睛去看看,用心去体会,用精神去享受。这是我的畅想,以聊城为圆心,一个地方探访海南屯昌苗村芽石铺村村民日子越过越好海南屯昌苗村芽石铺村苗族村民。林小丹摄中新网海南屯昌10月17日电题探访海南屯昌苗村芽石铺村村民日子越过越好作者林小丹在去往海南省屯昌县乌坡镇芽石铺村的路上,宽敞平坦的道路直通村子第227集来到了外地人来广州,打卡圣地的第一站已经计划想去广州,可广州一人也不认识,从来没去过,如果能有个认识的人,不要说帮上忙,哪怕介绍一下广州的水土人情也会省力气不少,我想到二弟给我说过,他有个温州女同事关系很好,后来来到日本侵略我国14年,有8个省没有被占领,哪8个省你知道吗?每个中国人心中的痛!恨不抗日死,留作今日羞。国破尚如此,我何惜此头这是著名抗日斗士吉鸿昌在抗日战争时期写下的斗争宣言。而今,我们更不能忘记这段历史!一日军侵华早有野心日本位于一个小
遭10绝杀!葡萄牙压哨出局,C罗被评为全场最差扔队长袖标泄愤北京时间9月28日0245,欧国联A2组第6轮,莫拉塔88分钟绝杀,C罗错失90分钟绝平,最终葡萄牙主场被西班牙10击败,压哨让出小组第一,无缘欧国联4强。37岁的C罗继续以首发中葡萄牙输了,C罗又赢了?欧国联上一场葡萄牙40大胜捷克,C罗不高兴,虽然桑托斯赛后说罗很开心,但是相信看过比赛的都看罗不高兴的脸。捷克04葡萄牙终场时刻1捷克04葡萄牙终场时刻2这场葡萄牙01输西班牙赛后西班牙找到新爆点,C罗成葡萄牙最弱一环?试验?实战?世界杯见了。西班牙背水一战,莫拉塔在最后时刻破门击败葡萄牙,争得欧国联半决赛席位。在世界杯将至的背景下,这个半决赛名额蕴含的象征意义更重一些。西班牙凭此带着热门球队的标官宣!中超两大巨星退役,欧冠英超全满贯,中超老东家先走一步中超联赛自从金元足球消失之后,大牌巨星以及世界名帅就彻底成为回忆,保利尼奥胡尔克等巨星离队奥斯卡与海港出现裂痕费莱尼年龄增大状态下滑,预示着中超超级外援时代彻底落幕。如今的中超已经中国短道速滑国家集训队成立来源人民网人民日报海外版本报电(记者刘硕阳李洋季芳)20222023赛季短道速滑国家集训队名单近日正式公布。经过此前的选拔邀请赛,9名男队员8名女队员共17名运动员入选本赛季短道速葡萄牙主帅重用C罗遭球迷炮轰,桑托斯的确应该向滕哈赫学习葡萄牙主帅重用C罗遭球迷炮轰,桑托斯的确应该向滕哈赫学习文姜诗华88年来主场第一次被西班牙击败,不仅使得葡萄牙队无缘欧国联半决赛,而且也使得球迷对于葡萄牙主帅桑托斯十分不满,球迷对克罗斯,提前退役?克罗斯或在赛季结束后退役西班牙阿斯报报道称,效力皇马的德国中场克罗斯可能在赛季结束后选择退役,球员想要在自己处于顶级水平时激流勇退,而不是到等到水平下滑才做出决定。克罗斯不想在34跨越4年的魔性笑声!满血回归的莱昂纳德,再度率队夺冠?发布会上一个简单的笑声,迅即成为各大媒体的头版头条,你就明白,笑声的主人辣个男人回来了!没错,机器人科怀莱昂纳德,终于满血复活了!他用人们四年未曾一闻的魔性笑声,宣告自己的回归,回1150万!波波维奇拿最高工资,执教只为付银行账单美国媒体FadeawayWorld的统计,新赛季有7个主帅薪水超过800万其中波波维奇1150万最高,其次是科尔的950万,里弗斯和斯波尔斯特拉薪水850万,纳什布登霍尔泽纳斯的薪国足主帅再换人!陈戌源或拒绝聘用外教,本土主帅或将二进宫近日中国足协开始了新的工作,此前在体育总局要求足协做述职报告的时候,陈戌源主席给出了自己的想法和态度,他表示中国足球目前已经在经历阵痛期,中超联赛由于资金链的断裂,没有办法得到很好梅西继续追赶C罗的脚步,还差37球,梅西能追上C罗吗?在周中的国际比赛日,梅西和C罗都代表各自的国家队参加了比赛。阿根廷和葡萄牙都踢了两场比赛,阿根廷以30的相同比分分别战胜了洪都拉斯和牙买加,梅西在两场比赛中连续上演梅开二度的好戏,