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

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

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

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

一、tkinter簡介:

(此部分內容摘自://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許可證可用於所有支持的平台。

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

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