﻿{"id":2890,"date":"2020-09-26T20:00:31","date_gmt":"2020-09-26T12:00:31","guid":{"rendered":"https:\/\/www.linuxmi.com\/?p=2890"},"modified":"2020-09-26T20:03:22","modified_gmt":"2020-09-26T12:03:22","slug":"python-gui-wxpython-aboutbox","status":"publish","type":"post","link":"https:\/\/www.linuxmi.com\/python-gui-wxpython-aboutbox.html","title":{"rendered":"\u4f7f\u7528Python\u7684GUI\u5e93wxPython\u5236\u4f5cAboutBox \u5bf9\u8bdd\u6846"},"content":{"rendered":"<p>\u5728\u8fd9\u7bc7Python GUI\u6587\u7ae0\u4e2d\uff0c\u6211\u60f3\u5411\u60a8\u5c55\u793a\u5982\u4f55\u4f7f\u7528wxPython\u521b\u5efaAboutBox\u5bf9\u8bdd\u6846\u3002\u56e0\u6b64\uff0c\u5305\u62ecwx\u5728\u5185\uff0c\u6211\u4eec\u9700\u8981\u53e6\u4e00\u4e2a\u9700\u8981\u5bfc\u5165\u7684\u7c7b\uff0c\u540d\u4e3awx.adv\u3002\u8fd9\u4e2a\u7c7b\u5305\u542b\u6709\u5173\u7a0b\u5e8f\u7684\u4e00\u822c\u4fe1\u606f\uff0c\u6bd4\u5982\u5b83\u7684\u540d\u79f0\u3001\u7248\u672c\u3001\u7248\u6743\u7b49\u7b49\uff0c\u4ee5\u53ca\u7a0b\u5e8f\u5f00\u53d1\u4eba\u5458\u3001\u6587\u6863\u7f16\u5199\u4eba\u5458\u3001\u827a\u672f\u5bb6\u548c\u7ffb\u8bd1\u4eba\u5458\u7684\u5217\u8868\u3002<\/p>\n<p>\u4e0b\u9762\u662f\u4f7f\u7528Python\u7684GUI\u5e93wxPython\u5236\u4f5cAboutBox \u5bf9\u8bdd\u6846\u7684\u5b8c\u6574\u4ee3\u7801\u3002<\/p>\n<pre style=\"margin: 1.2em 0px; line-height: 1.2em; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 1em;\"><code style=\"background: #292824; margin: 0px 0.15em; padding: 0.5em; border-radius: 3px; border: 1px solid #cccccc; color: #a6a28c; overflow: auto; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; display: block !important; white-space: pre; -ms-overflow-x: auto; -moz-text-size-adjust: none;\"><span style=\"color: #b854d4;\">import<\/span> wx\r\n<span style=\"color: #b854d4;\">import<\/span>  wx.adv\r\n\r\n<span style=\"color: #b854d4;\">class<\/span> <span style=\"color: #999580;\">MyFrame<\/span><span style=\"color: #b65611;\">(wx.Frame)<\/span>:\r\n    <span style=\"color: #6684e1;\"><span style=\"color: #b854d4;\">def<\/span> <span style=\"color: #999580;\">__init__<\/span><span style=\"color: #b65611;\">(self, parent, title)<\/span>:<\/span>\r\n        super(MyFrame, self).__init__(parent, title =title, size = (<span style=\"color: #b65611;\">800<\/span>,<span style=\"color: #b65611;\">600<\/span>))\r\n\r\n        self.panel = MyPanel(self)\r\n\r\n<span style=\"color: #b854d4;\">class<\/span> <span style=\"color: #999580;\">MyPanel<\/span><span style=\"color: #b65611;\">(wx.Panel)<\/span>:\r\n    <span style=\"color: #6684e1;\"><span style=\"color: #b854d4;\">def<\/span> <span style=\"color: #999580;\">__init__<\/span><span style=\"color: #b65611;\">(self, parent)<\/span>:<\/span>\r\n        super(MyPanel, self).__init__(parent)\r\n\r\n        self.button = wx.Button(self, label = <span style=\"color: #60ac39;\">\"\u5173\u4e8eLinux\u8ff7 www.linuxmi.com\"<\/span>, pos = (<span style=\"color: #b65611;\">100<\/span>,<span style=\"color: #b65611;\">100<\/span>))\r\n        self.Bind(wx.EVT_BUTTON, self.onAbout)\r\n\r\n    <span style=\"color: #6684e1;\"><span style=\"color: #b854d4;\">def<\/span> <span style=\"color: #999580;\">onAbout<\/span><span style=\"color: #b65611;\">(self, event)<\/span>:<\/span>\r\n        info = wx.adv.AboutDialogInfo()\r\n        info.SetName(<span style=\"color: #60ac39;\">\"Linux\u8ff7www.linuxmi.com\"<\/span>)\r\n        info.SetVersion(<span style=\"color: #60ac39;\">\"\u6700\u65b0\u5f00\u6e90\u8d44\u8baf\u4e0e\u6559\u7a0b\"<\/span>)\r\n        info.SetDescription(<span style=\"color: #60ac39;\">\"Linux\u8ff7(www.linuxmi.com)\u4e0e\u60a8\u5206\u4eab\u5173\u4e8e\u5f00\u6e90\u7684\u65b0\u9c9c\u4e8b\"<\/span>)\r\n        info.SetCopyright(<span style=\"color: #60ac39;\">\"(C) 2011-2020\"<\/span>)\r\n        info.SetWebSite(<span style=\"color: #60ac39;\">\"www.linuxmi.com\"<\/span>)\r\n        info.AddDeveloper(<span style=\"color: #60ac39;\">\"Linux\u8ff7\"<\/span>)\r\n\r\n        wx.adv.AboutBox(info)\r\n\r\n<span style=\"color: #b854d4;\">class<\/span> <span style=\"color: #999580;\">MyApp<\/span><span style=\"color: #b65611;\">(wx.App)<\/span>:\r\n    <span style=\"color: #6684e1;\"><span style=\"color: #b854d4;\">def<\/span> <span style=\"color: #999580;\">OnInit<\/span><span style=\"color: #b65611;\">(self)<\/span>:<\/span>\r\n        self.frame = MyFrame(parent=<span style=\"color: #b854d4;\">None<\/span>, title=<span style=\"color: #60ac39;\">\"\u5173\u4e8eLinux\u8ff7\"<\/span>)\r\n        self.frame.Show()\r\n        <span style=\"color: #b854d4;\">return<\/span> <span style=\"color: #b854d4;\">True<\/span>\r\n\r\napp = MyApp()\r\napp.MainLoop()\r\n<\/code><\/pre>\n<p>\u9996\u5148\uff0c\u6211\u4eec\u6709\u4ecewx\u7ee7\u627f\u7684\u6846\u67b6\u7c7b\u3002\u5b83\u662f\u6211\u4eec\u5728\u8fd9\u4e2a\u7c7b\u4e2d\u521b\u5efaMyPanel\u5bf9\u8c61\u7684\u9876\u7ea7\u7a97\u53e3\u3002<\/p>\n<pre style=\"margin: 1.2em 0px; line-height: 1.2em; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 1em;\"><code style=\"background: #292824; margin: 0px 0.15em; padding: 0.5em; border-radius: 3px; border: 1px solid #cccccc; color: #a6a28c; overflow: auto; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; display: block !important; white-space: pre; -ms-overflow-x: auto; -moz-text-size-adjust: none;\"><span style=\"color: #b854d4;\">class<\/span> <span style=\"color: #999580;\">MyFrame<\/span><span style=\"color: #b65611;\">(wx.Frame)<\/span>:\r\n    <span style=\"color: #6684e1;\"><span style=\"color: #b854d4;\">def<\/span> <span style=\"color: #999580;\">__init__<\/span><span style=\"color: #b65611;\">(self, parent, title)<\/span>:<\/span>\r\n        super(MyFrame, self).__init__(parent, title =title, size = (<span style=\"color: #b65611;\">800<\/span>,<span style=\"color: #b65611;\">600<\/span>))\r\n\r\n        self.panel = MyPanel(self)<\/code><\/pre>\n<p>\u5728\u8fd9\u4e4b\u540e\uff0c\u6211\u4eec\u521b\u5efa\u4e86MyPanel\u7c7b\uff0c\u8fd9\u4e2a\u7c7b\u662f\u4e00\u4e2a\u5bb9\u5668\u7c7b\uff0c\u7528\u4e8e\u6211\u4eec\u7684\u5c0f\u90e8\u4ef6\uff0c\u5982\u6309\u94ae\uff0c\u83dc\u5355\uff0c\u590d\u9009\u6309\u94ae\u7b49\uff0c\u4f60\u53ef\u4ee5\u770b\u5230\uff0c\u6211\u4eec\u5728\u8fd9\u4e2a\u7c7b\u4e2d\u521b\u5efa\u4e86\u4e00\u4e2a\u6309\u94ae\uff0c\u6211\u4eec\u4e5f\u5b8c\u6210\u4e86\u6309\u94ae\u7684\u7ed1\u5b9a\u3002<\/p>\n<pre style=\"margin: 1.2em 0px; line-height: 1.2em; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 1em;\"><code style=\"background: #292824; margin: 0px 0.15em; padding: 0.5em; border-radius: 3px; border: 1px solid #cccccc; color: #a6a28c; overflow: auto; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; display: block !important; white-space: pre; -ms-overflow-x: auto; -moz-text-size-adjust: none;\"><span style=\"color: #b854d4;\">class<\/span> <span style=\"color: #999580;\">MyPanel<\/span><span style=\"color: #b65611;\">(wx.Panel)<\/span>:\r\n\u00a0\u00a0\u00a0 <span style=\"color: #6684e1;\"><span style=\"color: #b854d4;\">def<\/span> <span style=\"color: #999580;\">__init__<\/span><span style=\"color: #b65611;\">(self, parent)<\/span>:<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 super(MyPanel, self).__init__(parent)\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 self.button = wx.Button(self, label = <span style=\"color: #60ac39;\">\"\u5173\u4e8eLinux\u8ff7 www.linuxmi.com\"<\/span>, pos = (<span style=\"color: #b65611;\">100<\/span>,<span style=\"color: #b65611;\">100<\/span>))\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 self.Bind(wx.EVT_BUTTON, self.onAbout)\r\n<\/code><\/pre>\n<p>\u8fd9\u662fAboutBox\u7684\u65b9\u6cd5<\/p>\n<pre style=\"margin: 1.2em 0px; line-height: 1.2em; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 1em;\"><code style=\"background: #292824; margin: 0px 0.15em; padding: 0.5em; border-radius: 3px; border: 1px solid #cccccc; color: #a6a28c; overflow: auto; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; display: block !important; white-space: pre; -ms-overflow-x: auto; -moz-text-size-adjust: none;\">\u00a0\u00a0\u00a0 <span style=\"color: #6684e1;\"><span style=\"color: #b854d4;\">def<\/span> <span style=\"color: #999580;\">onAbout<\/span><span style=\"color: #b65611;\">(self, event)<\/span>:<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 info = wx.adv.AboutDialogInfo()\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 info.SetName(<span style=\"color: #60ac39;\">\"Linux\u8ff7www.linuxmi.com\"<\/span>)\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 info.SetVersion(<span style=\"color: #60ac39;\">\"\u6700\u65b0\u5f00\u6e90\u8d44\u8baf\u4e0e\u6559\u7a0b\"<\/span>)\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 info.SetDescription(<span style=\"color: #60ac39;\">\"Linux\u8ff7(www.linuxmi.com)\u4e0e\u60a8\u5206\u4eab\u5173\u4e8e\u5f00\u6e90\u7684\u65b0\u9c9c\u4e8b\"<\/span>)\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 info.SetCopyright(<span style=\"color: #60ac39;\">\"(C) 2011-2020\"<\/span>)\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 info.SetWebSite(<span style=\"color: #60ac39;\">\"www.linuxmi.com\"<\/span>)\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 info.AddDeveloper(<span style=\"color: #60ac39;\">\"Linux\u8ff7\"<\/span>)\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 wx.adv.AboutBox(info)\r\n<\/code><\/pre>\n<p>\u6700\u540e\u4e00\u4e2a\u7c7b\u662fMyApp\u7c7b\u7ee7\u627f\u81eawx.App\u3002OnInit()\u65b9\u6cd5\u901a\u5e38\u662f\u521b\u5efa\u6846\u67b6\u5b50\u7c7b\u5bf9\u8c61\uff08frame subclass objects\uff09\u3002<\/p>\n<p>\u7136\u540e\u5f00\u59cb\u6211\u4eec\u7684\u4e3b\u5faa\u73af\uff08main loop\uff09\u3002\u5c31\u662f\u8fd9\u6837\u3002\u4e00\u65e6\u5e94\u7528\u7a0b\u5e8f\u7684\u4e3b\u4e8b\u4ef6\u5faa\u73af\u5904\u7406\u63a5\u7ba1\uff0c\u63a7\u5236\u6743\u5c31\u4f20\u9012\u7ed9wxPython\u3002\u4e0e\u8fc7\u7a0b\u6027\u7a0b\u5e8f\u4e0d\u540c\uff0cwxPython GUI\u7a0b\u5e8f\u4e3b\u8981\u54cd\u5e94\u5728\u5176\u5468\u56f4\u53d1\u751f\u7684\u4e8b\u4ef6\uff0c\u8fd9\u4e9b\u4e8b\u4ef6\u4e3b\u8981\u7531\u7528\u6237\u7528\u9f20\u6807\u5355\u51fb\u548c\u952e\u76d8\u8f93\u5165\u51b3\u5b9a\u3002\u5f53\u5e94\u7528\u7a0b\u5e8f\u4e2d\u7684\u6240\u6709\u5e27\u90fd\u88ab\u5173\u95ed\u65f6\uff0capp.MainLoop()\u65b9\u6cd5\u5c06\u8fd4\u56de\uff0c\u7a0b\u5e8f\u5c06\u9000\u51fa\u3002<\/p>\n<pre style=\"margin: 1.2em 0px; line-height: 1.2em; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 1em;\"><code style=\"background: #292824; margin: 0px 0.15em; padding: 0.5em; border-radius: 3px; border: 1px solid #cccccc; color: #a6a28c; overflow: auto; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 0.85em; display: block !important; white-space: pre; -ms-overflow-x: auto; -moz-text-size-adjust: none;\"><span style=\"color: #b854d4;\">class<\/span> <span style=\"color: #999580;\">MyApp<\/span><span style=\"color: #b65611;\">(wx.App)<\/span>:\r\n    <span style=\"color: #6684e1;\"><span style=\"color: #b854d4;\">def<\/span> <span style=\"color: #999580;\">OnInit<\/span><span style=\"color: #b65611;\">(self)<\/span>:<\/span>\r\n        self.frame = MyFrame(parent=<span style=\"color: #b854d4;\">None<\/span>, title=<span style=\"color: #60ac39;\">\"\u5173\u4e8eLinux\u8ff7\"<\/span>)\r\n        self.frame.Show()\r\n        <span style=\"color: #b854d4;\">return<\/span> <span style=\"color: #b854d4;\">True<\/span>\r\n\r\napp = MyApp()\r\napp.MainLoop()\r\n<\/code><\/pre>\n<p>\u8fd0\u884c\u5b8c\u6574\u4ee3\u7801\uff0c\u7ed3\u679c\u5982\u4e0b\uff1a<\/p>\n<p><a href=\"https:\/\/www.linuxmi.com\/wp-content\/uploads\/2020\/09\/ubuntu-20.04-2020-09-26-19-59-51.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2892 size-large\" src=\"https:\/\/www.linuxmi.com\/wp-content\/uploads\/2020\/09\/ubuntu-20.04-2020-09-26-19-59-51-1024x576.png\" alt=\"\" width=\"731\" height=\"411\" srcset=\"https:\/\/www.linuxmi.com\/wp-content\/uploads\/2020\/09\/ubuntu-20.04-2020-09-26-19-59-51-1024x576.png 1024w, https:\/\/www.linuxmi.com\/wp-content\/uploads\/2020\/09\/ubuntu-20.04-2020-09-26-19-59-51.png 1920w\" sizes=\"auto, (max-width: 731px) 100vw, 731px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5728\u8fd9\u7bc7Python GUI\u6587\u7ae0\u4e2d\uff0c\u6211\u60f3\u5411\u60a8\u5c55\u793a\u5982\u4f55\u4f7f\u7528wxPython\u521b\u5efaAboutBox\u5bf9\u8bdd\u6846\u3002\u56e0 &hellip;<\/p>\n","protected":false},"author":1,"featured_media":2892,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[4],"tags":[250],"class_list":["post-2890","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-wxpython"],"aioseo_notices":[],"views":812,"_links":{"self":[{"href":"https:\/\/www.linuxmi.com\/wp-json\/wp\/v2\/posts\/2890","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxmi.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxmi.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.linuxmi.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxmi.com\/wp-json\/wp\/v2\/comments?post=2890"}],"version-history":[{"count":2,"href":"https:\/\/www.linuxmi.com\/wp-json\/wp\/v2\/posts\/2890\/revisions"}],"predecessor-version":[{"id":2893,"href":"https:\/\/www.linuxmi.com\/wp-json\/wp\/v2\/posts\/2890\/revisions\/2893"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.linuxmi.com\/wp-json\/wp\/v2\/media\/2892"}],"wp:attachment":[{"href":"https:\/\/www.linuxmi.com\/wp-json\/wp\/v2\/media?parent=2890"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxmi.com\/wp-json\/wp\/v2\/categories?post=2890"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxmi.com\/wp-json\/wp\/v2\/tags?post=2890"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}