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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

wxpython制作表格界面_[Python] wxPython 菜单栏控件学习总结(原创)

發布時間:2024/9/27 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 wxpython制作表格界面_[Python] wxPython 菜单栏控件学习总结(原创) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、總結

1、大體創建過程

1、創建一個 菜單欄 : menuBar = wx.MenuBar()

相當于這個白色地方,沒有File這個菜單

2、創建 菜單 : fileMenu = wx.Menu()

這兩個不是直接“用的”,叫菜單。既用來分類其他 菜單項 的文件夾樣

3、創建 菜單項 : newItem = wx.MenuItem()

例如上圖的 New Copy Cut Paste Radio_One 等等等等。

這些可以直接“點”的(看作按鈕)的叫做 菜單項。

創建的時候需要分配 id (int 整數),到時候菜單事件處理的時候需要通過傳遞的 id (event.GetId())來判斷單擊的按鈕。

4、將 菜單項 添加到 菜單中 : fileMenu.AppendItem(newItem)

這樣當我們單機 File 的時候就會打開這個"文件夾"

并且展示內容,添加多少就展示多少,并且按添加的順序展示

5、將 菜單 添加到 菜單欄 中 : menuBar.Append(fileMenu, title = "File")

之前我們只是構建了一個上圖紅框+File菜單 的一個整體對象:fileMenu。

然后我們要把這個 菜單對象 添加到菜單欄中。

6、將該 菜單欄 設置為我們窗口框架的“菜單欄” : self.SetMenuBar(menuBar)

即將之前建立的 菜單欄對象 放到窗口上去。

7、綁定 菜單事件 : self.Bind(wx.EVT_MENT, self.menuHandler)

調用 Bind() 這個綁定事件的函數,因為其他組件 比如按鈕 編輯框 都有事件。

所以這里的 wx.EVT_MENT 是表示綁定的是 菜單事件。

menuHandler() 是自定義函數 用來菜單事件。

id = event.GetId() 用來判斷單擊的 菜單項。

函數參數名稱:event 不能變,只能是這個單詞。

8、窗口框架的處理 : 與菜單欄無關了

例如 調整大小、出現位置、是否可見

2、各項詳解(參考其他)

1、用到的 class :

菜單欄 : wx.MenuBar 類

wx.MenuBar()

wx.MenuBar(n, menus, titles, style)

有一個參數的構造函數,此外還有一個默認的。

參數“n”表示的菜單的數目。Menu是菜單和標題的數組和字符串數組。如果style參數設置為wx.MB_DOCKABLE,菜單欄可以停靠。

菜單 : wx.Menu 類

wx.Menu類對象是一個或多個菜單項,其中一個可被用戶選擇的下拉列表。

該開始 new 菜單對象的時候 只要 fileMenu = wx.Menu() 即可

之后添加菜單項目的時候,可直接使用 Append() 函數添加,或 wx.MenuItem 類的一個對象被追加。

wx.Menu.Append(id, text, kind)

Item = Wx.MenuItem(parentmenu, id, text, kind)

wx.Menu.Append(Item)

菜單項:wx.MenuItem 類

當我們 new 菜單項對象時 需要填幾個參數。

newItem = wx.MenuItem(parentMenu, id, text, kind)

其中 :

parentMenu 為其 菜單的對面,比如上文提到的 newMenu 菜單項的 parentMenu 為 fileMenu

id 為該菜單項的 id 到時候處理 菜單項時間的時候需要用到滴

text 為這個菜單項的名稱

kind 為該菜單項的類型

①注冊 快捷鍵的方法 :參數text = "名稱/t快捷鍵"

比如 text = "Quit/tCtrl+Q"

這樣就注冊了 Ctrl + Q 的快捷鍵

②其他類型菜單項的方法

菜單項有 3 種:

只需要 參數 kind = 相關類型常量即可

2、感想

這個里面的很詳細,且例子經典。

o.o 要是先看不懂,就敲抄一邊會好很多。

關于wxPyton 中菜單欄的運用的,以下代碼能夠很好的展示相關的操作方法。

3、樣例代碼

#coding:utf-8

#author:Twobox

import wx

class Mywin(wx.Frame):

def __init__(self, parent, title):

super(Mywin, self).__init__(parent, title = title)

self.InitUI()

def InitUI(self):

#創建一個菜單欄

menuBar = wx.MenuBar()

#創建一個菜單 1

fileMenu = wx.Menu()

#創建一個菜單項 1-1

newItem = wx.MenuItem(fileMenu, id = wx.ID_NEW, text = 'New', kind = wx.ITEM_NORMAL)

fileMenu.AppendItem(newItem)

#添加一行線

fileMenu.AppendSeparator()

#創建一個子菜單 1-2

editMenu = wx.Menu()

#創建三個子菜單的菜單項目 1-2-1 and 1-2-2 and 1-2-3

cutItem = wx.MenuItem(editMenu, id = 122, text = "Cut", kind = wx.ITEM_NORMAL)

copyItem = wx.MenuItem(editMenu, id = 121, text = "Copy", kind = wx.ITEM_NORMAL)

pasteItem = wx.MenuItem(editMenu, id = 123, text = "Paste", kind = wx.ITEM_NORMAL)

editMenu.AppendItem(copyItem)

editMenu.AppendItem(cutItem)

editMenu.AppendItem(pasteItem)

#把子菜單 1-2 添加到菜單 1 中

fileMenu.AppendMenu(wx.ID_ANY, "Edit", editMenu)

# 添加一行線

fileMenu.AppendSeparator()

#添加兩個單選框 1-3 and 1-4

radio1 = wx.MenuItem(fileMenu, id = 13, text = "Radio_One", kind = wx.ITEM_RADIO)

radio2 = wx.MenuItem(fileMenu, id = 14, text = "Radio_Two", kind = wx.ITEM_RADIO)

fileMenu.AppendItem(radio1)

fileMenu.AppendItem(radio2)

#PS.單選框 只在自己區域之間(兩行線之間) 相互作用

# 添加一行線

fileMenu.AppendSeparator()

#添加一個 可選中 的菜單項 1-5

fileMenu.AppendCheckItem(id = 15, item = "Check")

#添加一個 菜單項 1-6 并注冊快捷鍵

quit = wx.MenuItem(fileMenu, id = wx.ID_EXIT, text = "Quit\tCtrl+Q", kind = wx.ITEM_NORMAL)

fileMenu.AppendItem(quit)

#將 fileMenu 菜單添加到菜單欄中

menuBar.Append(fileMenu, title = 'File')

#設置窗口框架的菜單欄為 menuBar

self.SetMenuBar(menuBar)

#綁定事件處理

self.Bind(wx.EVT_MENU, self.menuHandler)

#讓其在屏幕中間打開調整大小展示

self.SetSize((300,400))

self.Centre()

self.Show()

def menuHandler(self, event):

id = event.GetId()

if id == wx.ID_NEW:

print("NEW")

if id == wx.ID_EXIT:

exit(0)

if __name__ == "__main__":

ex = wx.App()

Mywin(None, 'Menu - Test')

#Mywin(None, 'Menu - Test') #可以同時打開兩個窗口 果然體現面向對象的程序開發思想

ex.MainLoop()

2017-08-20 14:21:26

[Python] wxPython 基本控件 (轉)

轉自:http://www.cnblogs.com/wangjian8888/p/6028777.html 一.靜態文本控件 wx.StaticText(parent, id, label, pos= ...

[Python] wxPython 編輯框組件學習總結 (原創)

1.總結 1.常用4種 編輯框 的構造 1.普通編輯框 單行輸入的簡單編輯框 (?為所在框的對象,同下) self.textBox = wx.TextCtrl(parent = ?) 2.密碼編輯框 ...

python之Tkinter控件學習

轉載自 ?http://www.cnblogs.com/kaituorensheng/p/3287652.html#_label0 閱讀目錄 1.?產品介紹 2.?設計規劃 3. 相關知識 4. 源碼 ...

Python Tkinter 基礎控件學習

# -*- coding: utf-8 -*- from Tkinter import * def btn_click(): b2['text'] = 'clicked' evalue = e.get ...

wxPython控件學習之wx.grid.Grid 表格控件

wxPython控件學習之wx.grid.Grid (包括對GridCellEditor和GridCelRender的擴展,以支持更多的grid cell 樣式, 以GridCellColorEdit ...

轉)delphi chrome cef3 控件學習筆記 (二)

(轉)delphi chrome cef3 控件學習筆記 (二) https://blog.csdn.net/risesoft2012/article/details/51260832 原創?2016 ...

IOS學習筆記(四)之UITextField和UITextView控件學習

IOS學習筆記(四)之UITextField和UITextView控件學習(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

DevExpress控件學習總結(轉)

DevExpress控件學習總結 ? 1.Navigation?&?Layout 1.1?Bar?Manager 如果想在窗體或用戶控件(user?control)上添加工具條(bars)或彈 ...

Python Tkinter基礎控件入門實例

分享一個Python Tkinter基礎控件用法的入門例子,包括窗口的顯示.顯示內置圖片.彈出窗口.菜單等. 例子,Python Tkinter基礎控件的用法 # -*- coding: utf-8 ...

隨機推薦

mac的webdriver自動化

下載webdriver-chrome的連接:http://chromedriver.storage.googleapis.com/index.html

MVVM小記

這篇小記源自于codeproject上的一篇文章?http://www.codeproject.com/Articles/100175/Model-View-ViewModel-MVVM-Explai ...

深入理解計算機系統(2.2)---布爾代數以及C語言上的位運算

布爾代數上的位運算 布爾代數是一個數學知識體系,它在0和1的二進制值上演化而來的. 我們不需要去徹底的了解這個知識體系,但是里面定義了幾種二進制的運算,卻是我們在平時的編程過程當中也會遇到的.這四種運 ...

JS中的集中頁面跳轉的方法

第一種:???

style中position的屬性值具體解釋

Position的英文原意是指位置.職位.狀態.也有安置的意思.在CSS布局中,Position發揮著非常關鍵的數據,非常多容器的定位是用Position來完畢. Position屬性有四個可選值,它 ...

渲染函數render和函數式組件

vnode對象 vnode對象包括(vnode并不是vue實例,而是vue實例中渲染函數render執行后生成的結果) this.tag = tag // 當前節點標簽名 this.data = da ...

cookie、localStorage、sessionStorage的區別

localStorage - 沒有時間限制的數據存儲 sessionStorage - 針對一個 session 的數據存儲 共同點:sessionStorage.localStorage和cooki ...

Visual Studio 2017 + Python3.6安裝scipy庫

Windows10下安裝scipy很麻煩,直接在命令行下使用pip install scipy無法安裝,但可以借助VS2017的集成環境來安裝. (1)首先在Visual Studio Install ...

How to calculate elapsed / execute time in Java

How to calculate elapsed / execute time in JavaIn Java, you can use the following ways to measure el ...

總結

以上是生活随笔為你收集整理的wxpython制作表格界面_[Python] wxPython 菜单栏控件学习总结(原创)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 开心激情网五月天 | 天天干干 | 免费亚洲一区 | 丝袜一区二区三区 | 亚洲色图一区二区三区 | 伊人论坛 | 黄色在线免费观看网站 | 久久久久久久久久久99 | 国产精品区一 | 中文字幕一区二区三区人妻在线视频 | 国产精品手机视频 | 高清中文字幕mv的电影 | 日本裸体xx少妇18在线 | 深夜福利国产 | 国产精品午夜无码专区 | 在线观看福利片 | 国产成人一区二区三区电影 | 四虎av网址 | 欧美人与禽猛交乱配视频 | 国产av成人一区二区三区 | 在线色综合| 久久久久久免费精品 | 啪啪官网| 黄色片国产 | 狠狠躁天天躁综合网 | 国产精品高潮呻吟久久av黑人 | 玖玖热在线视频 | 国产激情综合五月久久 | 亚洲国产中文字幕在线观看 | 性囗交免费视频观看 | 日韩精品乱码久久久久久 | 希岛婚前侵犯中文字幕在线 | 久久国产福利 | 丰满少妇一区 | 传媒av在线| 在线亚洲精品 | 我要看18毛片 | 偷拍超碰 | 成人动漫在线观看 | 高潮无码精品色欲av午夜福利 | 国产美女免费观看 | 亚洲成人激情av | 最新av免费在线观看 | 久久aaa| 亚洲视频在线播放免费 | 国产精品成人久久久久久久 | 性猛交ⅹxxx富婆video | 国精产品99永久一区一区 | 少妇被黑人到高潮喷出白浆 | 日韩欧美中| 午夜视频在线免费观看 | 久久6视频 | 久草播放| 日韩一区三区 | 国产片淫乱18一级毛片动态图 | 欧美午夜精品久久久久免费视 | 91午夜精品亚洲一区二区三区 | 伊人免费在线观看 | 成人国产在线观看 | 精品自拍第一页 | 91n视频| 国产夫绿帽单男3p精品视频 | 久久九九精品 | 99视频一区| japanese国产| 91看片在线播放 | 精品熟妇无码av免费久久 | 日韩在线观看视频免费 | 久久这里只有精品23 | 97国产精东麻豆人妻电影 | www.欧美一区二区三区 | 欧美一卡 | 91亚洲精品久久久久久久久久久久 | 日本xx视频 | 精品视频亚洲 | 黄色片免费观看 | 视频福利在线 | 麻豆成人av | 专干中国老太婆hd | 奇米影视四色在线 | 国产免费观看一区 | 91九色在线视频 | 国产精品久久国产精品99 | 午夜精品亚洲 | 伊人伊网| 91国产丝袜播放在线 | 亚洲视频手机在线观看 | 丰满女邻居的色诱4hd | 激情亚洲网| 日韩精品中文字幕在线观看 | 深夜老司机福利 | jk美女又爽又黄视频 | 国产睡熟迷奷系列精品视频 | 91精品国产高清一区二区三区蜜臀 | 超碰97在线免费 | 青青草99| 一级坐爱片 | 久久亚洲精品视频 | 老太脱裤让老头玩ⅹxxxx |