Python部分GUI模塊簡介tkinter、pyqt5(Qt Designer)


筆者認為,這兩個作為Python3較為常用且簡單的GUI模塊,是Python開發者所必須學習至少是了解的。

其中tkinter為Python3自帶的GUI模塊,而pyqt5則需要通過pip install pyqt5來下載,並下載相應的圖形化編輯工具Qt Designer。

安裝第三方包時遇到問題可以訪問筆者的原創博客來解決:https://www.cnblogs.com/-X-peng/p/13746579.html

一、tkinter簡介:

(此部分內容摘自:https://blog.csdn.net/gongqingkui/article/details/86105399)

1.1、注意

2.x版本下名為Tkinter,3.X下名為tkinter,注意首字母大小寫不一樣
最簡單界面

Import tkinter as tk

Root = tk.Tk()

Tk.mainloop()
1.2、組件

Label l1 = tk.Label(root,text=’xxx’)第一個參數是Tk()對象,然后l1.pack()布局就行啦。
核心組件Toplevel,Label,Button,Canvas,Checkbutton,Entry,Frame,LabelFrame,Listbox,Menu,Menubutton,Message,OptionMenu,PaneWindow,Radiobutton,Scale,Scrollbar,Spinbox,Text,Bitmap,Image
Button綁定函數
Command=函數名
Button1.bind(‘<Button-1>’,函數名)
具體屬性參考源碼
注意,組件的variable或者textvariable 掛鈎tk內置的變量即:
Pic_dir = StringVar() Entry(root,textvariable=pic_dic).pack()
內置變量有方法set 和get,用法可想而知
Radiobutton公用一個variable,value不同。Checkbutton用variable的變量是tk變量數組list。
其他常用組件
Messagebox 彈出消息框之類 .askokcancel(title,note)
Filedialog.askdirectory() 彈出目錄選擇窗口,返回目錄名

1.3、布局

布局三種方法,pack grid place,同級只能用一種方法,可以用Frame破解規定

Pace 向下居中分部,有屬性side = tk.LEFT,fill = tk.X tk.BOTH,anchor屬性N,NE,E,SE,S,SW,W,NW,CENTER九個不同的值。
Grid 網格布局 row column 屬性,從0開始
Place絕對值

1.4、菜單

Menubar = tk.Menu(root)

For i in ls:

Menubar.add_command(label=’xxx’,command=aaa’

Root[‘menu’]=menubar

子目錄的話,再附加

Fmenu = tk.Menu(menubar)

Menubar.add_cascade(label=’文件’,menu=fmenu)

 

二、pyqt5簡介

PyQt是一個創建GUI應用程序的工具包。它是Python編程語言和Qt庫的成功融合。Qt庫是目前最強大的庫之一。PyQt是由Phil Thompson 開發。

PyQt實現了一個Python模塊集。它有超過300類,將近6000個函數和方法。它是一個多平台的工具包,可以運行在所有主要操作系統上,包括UNIX,Windows和Mac。 PyQt采用雙許可證,開發人員可以選擇GPL和商業許可。在此之前,GPL的版本只能用在Unix上,從PyQt的版本4開始,GPL許可證可用於所有支持的平台。

訪問此網站學習了解:https://www.jianshu.com/p/c61fc80ad6b3

(注意前提工作是將Qt designer與pycharm關聯配置好)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM