日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

菜单工具栏wxPython菜单与工具栏基础示例

發(fā)布時(shí)間:2024/8/23 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 菜单工具栏wxPython菜单与工具栏基础示例 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這兩天一直在學(xué)習(xí)菜單工具欄之類的問題,上午正好有機(jī)會(huì)和大家討論一下.

????

????

1.基本的api介紹

Package wx :: Class Menu Type Menu Method Summary Menu __init__(self, title, style) __repr__(self) MenuItem Append(self, id, text, help, kind) MenuItem AppendCheckItem(self, id, text, help) MenuItem AppendItem(self, item) MenuItem AppendMenu(self, id, text, submenu, help) Package wx :: Class MenuBar Type MenuBar Window __init__(self, parent, id, pos, size, style, name) Construct and show a generic Window. __repr__(self) bool Append(self, menu, title) Attach(self, frame) Check(self, id, check) Detach(self) bool Enable(self, enable) Enable or disable the window for user input. EnableTop(self, pos, enable) Package wx :: Class EvtHandler Type EvtHandler EvtHandler __init__(self) __repr__(self) AddPendingEvent(self, event) Bind(self, event, handler, source, id, id2)

????

2.簡(jiǎn)單菜單

????在我們的第一個(gè)例子中,我們將創(chuàng)立一個(gè)menubar,一個(gè)文件菜單。菜單將只有一個(gè)菜單項(xiàng)。通過選擇項(xiàng)應(yīng)用程序退出。

????示例代碼如下:

import wx class Example(wx.Frame):def __init__(self,*args,**kw):wx.Frame.__init__(self,None)def InitUI(self):menuBar = wx.MenuBar()filemenu = wx.Menu()fitem = filemenu.Append(001,"exit","Quit Applications")fitem1 = filemenu.Append(002,"002","Quit Applications")menuBar.Append(filemenu,"&File")self.SetMenuBar(menuBar)self.Bind(wx.EVT_MENU, self.OnQuit, fitem)self.SetSize((400,250))self.SetTitle("SimpleMenu")self.Center()self.Show()def OnQuit(self,e):self.Close()def main():app = wx.App()exa = Example(None)exa.InitUI()app.MainLoop() if __name__ == '__main__':main()

????這是一個(gè)以最小的菜單功能小例子。
menubar = wx.MenuBar()首先我們創(chuàng)立一個(gè)menubar對(duì)象。
fileMenu = wx.Menu()接下來,我們創(chuàng)立一個(gè)菜單對(duì)象。
fitem = fileMenu.Append(wx.ID_EXIT, 'Quit', 'Quit application')
我們追加到菜單項(xiàng)的菜單對(duì)象。第一個(gè)參數(shù)是菜單項(xiàng)的ID。標(biāo)準(zhǔn)ID會(huì)自動(dòng)添加一個(gè)圖標(biāo)和快捷(在windows上沒有出現(xiàn)圖標(biāo),也不能用快捷鍵)。 CTRL + Q在我們的例子。第二個(gè)參數(shù)是菜單項(xiàng)的名稱。最后一個(gè)參數(shù)定義狀態(tài)欄上顯示的菜單項(xiàng)被選中時(shí),簡(jiǎn)短的幫助字符串。在這里,我們沒有創(chuàng)造出wx.MenuItem明確。它是幕后的append()方法創(chuàng)立。該方法返回創(chuàng)立的菜單項(xiàng)。此參考將使用后綁定事件。
self.Bind(wx.EVT_MENU, self.OnQuit, fitem)
我們綁定菜單項(xiàng)wx.EVT_MENU的的的定制OnQuit()方法。這類方法將關(guān)閉應(yīng)用程序。
menubar.Append(fileMenu, '&File')
self.SetMenuBar(menubar)
之后,我們追加到菜單欄菜單。 &字符創(chuàng)立一個(gè)快捷鍵。后面的字符下劃線。這類方法是通過按Alt + F快捷拜訪菜單(windows上似乎不能用)。最后,我們吶喊的SetMenuBar()方法。這類方法屬于wx.Frame的部件。它設(shè)置的菜單欄。

????運(yùn)行示例圖

????

????

????

3.快捷鍵與圖標(biāo)

????在這個(gè)例子中,會(huì)手動(dòng)的創(chuàng)立一個(gè)快捷鍵與圖標(biāo),如下圖所示:

????

????示例代碼如下:

import wxAPP_EXIT = 1class Example(wx.Frame):def __init__(self,*args,**kw):wx.Frame.__init__(self,None)def InitUI(self):menuBar = wx.MenuBar()filemenu = wx.Menu()qmi = wx.MenuItem(filemenu,APP_EXIT,"&Quit\tCtrl+Q")bitm = wx.Bitmap("my.png")bitm.SetSize(size=(20,20))qmi.SetBitmap(bitm)filemenu.AppendItem(qmi)self.Bind(wx.EVT_MENU, self.OnQuit, id=APP_EXIT)menuBar.Append(filemenu, '&File')self.SetMenuBar(menuBar)self.SetSize((250, 200))self.SetTitle('Icons and shortcuts')self.Centre()self.Show(True)def OnQuit(self, e):self.Close()def main():app = wx.App()exa = Example(None)exa.InitUI()app.MainLoop() if __name__ == '__main__':main()

????

4.子菜單和離開符

????每個(gè)菜單,也可以有一個(gè)子菜單。這樣我們就可以把成組類似的命令。例如,我們可以將像個(gè)人欄,地址欄,狀態(tài)欄或?qū)Ш綑?#xff0c;將工具欄子菜單隱藏/顯示各種工具欄的命令。在菜單中,我們可以逗號(hào)離開一個(gè)離開的命令。這是一個(gè)簡(jiǎn)單的線條。常見的做法是單獨(dú)的命令,如新建,打開,保存,如打印,打印預(yù)覽命令與一個(gè)單一的分離。在我們的例子中,我們將看到,我們?nèi)绾慰梢詣?chuàng)立子菜單和菜單離開

????示例圖如下:

????

????示例代碼:

import wx class Example(wx.Frame):def __init__(self,*args,**kw):wx.Frame.__init__(self,None)def InitUI(self):menuBar = wx.MenuBar()fileMenu = wx.Menu()fileMenu.Append(wx.ID_NEW,"&New")fileMenu.Append(wx.ID_OPEN, '&Open')fileMenu.Append(wx.ID_SAVE, '&Save')fileMenu.AppendSeparator()imp = wx.Menu()imp.Append(wx.ID_ANY, 'Import newsfeed list...')imp.Append(wx.ID_ANY, 'Import bookmarks...')imp.Append(wx.ID_ANY, 'Import mail...')qmi = wx.MenuItem(fileMenu, wx.ID_EXIT, '&Quit\tCtrl+W')fileMenu.AppendMenu(wx.ID_ANY, 'I&mport', imp) fileMenu.AppendItem(qmi)menuBar.Append(fileMenu, '&File')self.SetMenuBar(menuBar)self.Bind(wx.EVT_MENU, self.OnQuit, qmi)self.SetSize((400,250))self.SetTitle("SimpleMenu")#self.Centre()self.Center()self.Show()def OnQuit(self,e):self.Close()def main():app = wx.App()ex = Example(None)ex.InitUI()app.MainLoop() if __name__ == '__main__':main() 每日一道理
那蝴蝶花依然花開花落,而我心中的蝴蝶早已化作雄鷹飛向了廣闊的藍(lán)天。

????

5.復(fù)選菜單Check menu item

????There are tree kinds of menu items. 它們有三種
normal item
check item
radio item

????在接下來的例子中,我們將演示如何檢查菜單項(xiàng)。一個(gè)檢查菜單項(xiàng)是視覺上表現(xiàn)為一個(gè)滴答在菜單。

????效果圖示:

????

????示例代碼:

import wxclass Example(wx.Frame):def __init__(self,*args,**kw):wx.Frame.__init__(self,None);def InitUI(self):menuBar = wx.MenuBar()filemenu = wx.Menu()viewmenu = wx.Menu()self.shst = viewmenu.Append(wx.ID_ANY,"ShowStatubar","ShowStatubar",kind=wx.ITEM_CHECK)self.shtl = viewmenu.Append(wx.ID_ANY,"ShowToolBar","ShowToolBar",kind=wx.ITEM_CHECK)viewmenu.Check(self.shst.GetId(),True)viewmenu.Check(self.shtl.GetId(),True)self.Bind(wx.EVT_MENU, self.ToggleStatuBar, self.shst)self.Bind(wx.EVT_MENU, self.ToggleToolBar, self.shtl)menuBar.Append(filemenu, '&File')menuBar.Append(viewmenu, '&View')self.SetMenuBar(menuBar)self.toolbar = self.CreateToolBar()bitm = wx.Bitmap("my.png")bitm.SetSize(size=(20,20))self.toolbar.AddLabelTool(1,'',bitm)self.toolbar.Realize()self.statusbar = self.CreateStatusBar()self.statusbar.SetStatusText('Ready')self.SetSize((350, 250))self.SetTitle('Check menu item')self.Centre()self.Show(True)def ToggleStatuBar(self,e):if self.shst.IsChecked():self.statusbar.Show()else:self.statusbar.Hide()def ToggleToolBar(self, e):if self.shtl.IsChecked():self.toolbar.Show()else:self.toolbar.Hide() def main():app = wx.App()exa = Example(None)exa.InitUI()app.MainLoop() if __name__ == '__main__':main()

????

6.右鍵菜單Context menu

????上下文菜單在某些情況下出現(xiàn)的命令的列表。例如,在Firefox網(wǎng)頁瀏覽器,當(dāng)我們?cè)诰W(wǎng)頁上右擊,我們失掉一個(gè)上下文菜單。在這里,我們可以從新載入頁面,回去或查看頁面的源代碼。如果我們右鍵單擊工具欄上,我們失掉另一個(gè)管理工具欄的上下文菜單。偶然也被稱為上下文菜單彈出菜單。

????運(yùn)行效果圖:

????

????示例代碼:

import wx class MyPopupMenu(wx.Menu):def __init__(self,parent):super(MyPopupMenu,self).__init__()self.parent = parentmmi = wx.MenuItem(self,wx.NewId(),'MiniSize')self.AppendItem(mmi)self.Bind(wx.EVT_MENU, self.OnMinimize, mmi)cmi = wx.MenuItem(self,wx.NewId(),'Close')self.AppendItem(cmi)self.Bind(wx.EVT_MENU, self.OnClose, cmi)def OnMinimize(self,e):self.parent.Iconize()def OnClose(self,e):self.parent.Close()class Example(wx.Frame):def __init__(self,*args,**kw):wx.Frame.__init__(self,None);def InitUI(self):self.Bind(wx.EVT_RIGHT_DOWN, self.OnRightDown)self.SetSize((250, 200))self.SetTitle('Context menu')self.Centre()self.Show(True)def OnRightDown(self,e):self.PopupMenu(MyPopupMenu(self),e.GetPosition())def main():app = wx.App()exa = Example(None)exa.InitUI()app.MainLoop() if __name__ == '__main__':main()

????

????參考:

wxPython中文教程 簡(jiǎn)單入門加實(shí)例

????wxPython菜單與工具欄

????如何從新設(shè)置Bitmap的巨細(xì)?http://social.msdn.microsoft.com/Forums/pt-BR/ce4e0b9e-549f-4fb7-a107-a1c3a37839dc/bitmap

????

????

文章結(jié)束給大家分享下程序員的一些笑話語錄: 一條狗在街上閑逛,看見櫥窗里一張告示:「招聘程序員。會(huì)編程,有團(tuán)隊(duì)精神,至少精通兩種語言。均等機(jī)會(huì)。」
  那條狗就進(jìn)去申請(qǐng),但是被拒絕了。
  「我不能雇一條狗在公司里做事。」經(jīng)理說。
  狗不服氣,指著告示上「均等機(jī)會(huì)」幾字抗議。
  經(jīng)理沒法,嘆了口氣,不屑地問道:「你會(huì)編程嗎?」
  那條狗默默地走到電腦前,編了個(gè)程序,運(yùn)作準(zhǔn)確。
  「你有團(tuán)隊(duì)精神嗎?」經(jīng)理問。
  那條狗掉頭看了看門外,一大群野狗在外面虎視耽耽。
  「我真的不能雇狗做這份工作。」經(jīng)理氣急敗壞地說。
  「就算會(huì)編程、有團(tuán)隊(duì)精神,但是我需要的雇員至少要能精通兩種語言。」
  那條狗抬頭看著經(jīng)理說:「喵-噢。」

--------------------------------- 原創(chuàng)文章 By
菜單和工具欄
---------------------------------

轉(zhuǎn)載于:https://www.cnblogs.com/jiangu66/p/3153273.html

總結(jié)

以上是生活随笔為你收集整理的菜单工具栏wxPython菜单与工具栏基础示例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产aⅴ爽av久久久久成人 | 亚洲人成7777 | 竹菊影视日韩一区二区 | 亚洲免费在线视频 | 好色婷婷 | 97超视频 | 中文字幕在线观看线人 | 日本国产高清 | www.日本黄| 91精品国产一区二区无码 | a一级免费视频 | 全黄性性激高免费视频 | 国产粉嫩一区二区三区 | 人成免费在线视频 | 丰满少妇一区二区 | 日日操日日干 | 欧美日韩一卡 | 九九九免费视频 | 亚洲精品天堂网 | 色爱成人综合 | 欧美影院一区 | 97视频在线观看免费高清完整版在线观看 | 亚洲乱码中文字幕久久孕妇黑人 | 欧美在线xxxx | 国产精品久久婷婷六月丁香 | 污污内射在线观看一区二区少妇 | 欧美视频在线观看 | www色中色 | 久久精品9| 国产玖玖在线 | 久久免费黄色网址 | 99精品在线视频观看 | 中文字幕中文字幕 | av免费一区 | 高清一区在线观看 | 亚洲天堂男人天堂 | 亚洲手机在线 | 久久久久久电影 | 精品久久影院 | 人妖videosex高潮另类 | 一本色道久久综合狠狠躁的推荐 | 天堂草在线观看 | 日韩精品一区二区三区高清免费 | 极品少妇在线观看 | kk视频在线观看 | 欧美性视频在线 | 99精品欧美一区二区三区 | 黄色大片在线看 | 国模杨依粉嫩蝴蝶150p | 麻豆出品 | 爱情岛论坛亚洲线路一 | 免费无码不卡视频在线观看 | 国产视频一区二区在线 | jizz18欧美18 | 最新日韩三级 | 国产白嫩美女无套久久 | 91久久精品日日躁夜夜躁欧美 | 熟女人妻在线视频 | 欧美色就是色 | 中文字幕天堂av | 黑人添美女bbb添高潮了 | 韩国三级丰满少妇高潮 | 国产我不卡 | 国产婷婷在线视频 | 欧美日韩免费网站 | 成年在线观看 | 欧洲中文字幕日韩精品成人 | 九九热在线观看视频 | 美女福利视频网 | 久久一区精品 | 亚洲伊人成人网 | 欧美日韩免费网站 | 日产毛片| 欧美一区精品 | 国产xxx在线观看 | 精品一区二区三区无码视频 | 日韩爽片 | 天天摸天天添 | 国产精品成人免费视频 | 秋霞欧美一区二区三区视频免费 | 91黄免费| 国产精品久久网站 | 国产激情综合五月久久 | 激情五月av | 日本少妇毛茸茸 | 中文字幕第88页 | 在线观看黄色网页 | 免费看的av| 六月综合激情 | 日韩不卡视频一区二区 | 亚洲成人精品一区二区 | 日本精品二区 | www.99色 | 中国国产精品 | 日日射天天操 | 国产av无码专区亚洲av毛片搜 | 国产视频一区在线 | 黄色的网站免费看 | 91在线欧美 |