本文章內容分兩部分,一、初步解析grid布局,二、gui程式設計常遇到問題的解決方法
相信以上兩部分能夠幫助大部分初學者掌握grid布局以及解決部分問題。
日後我將根據遇到的問題將此文章將不停地完善。
grid布局是一種將介面描述成乙個類似**的布局,而每乙個控制項所佔的空間均由**中的單元格組成,例如可以合併幾個單元格作為控制項的使用空間。而單元格的寬高則受控件的大小影響,當乙個控制項設定為佔乙個單元格空間,而該控制項的長寬大於單元格預設大小,那麼該單元格的所在的行與列都將自行拉伸,適應控制項的大小。1. 布局
2. **布局方式
import tkinter as tk
root = tk.tk()
label1 = tk.label(root, text = "height:")
label1.grid(row = 0, column = 0)
label2 = tk.label(root, text = "width:")
label2.grid(row = 1, column = 0)
entry1 = tk.entry(root)
entry1.grid(row = 0, column = 1)
entry2 = tk.entry(root)
entry2.grid(row = 1, column = 1)
checkbutton = tk.checkbutton(root, text = "preserve aspect")
checkbutton.grid(row = 2, column = 0, rowspan = 1, columnspan = 2, sticky=tk.w)#sticky設定控制項的對其方位,這裡設定為靠西(左西右東)
img = tk.photoimage(file = "~/image/image_test.png")
imageview = tk.label(root, image= img)
imageview.grid(row = 0, column = 2, rowspan = 2, columnspan = 2)
button1 = tk.button(root, text = "zoom in")
button1.grid(row = 2, column = 2)
button1 = tk.button(root, text = "zoom out")
button1.grid(row = 2, column = 3)
root.mainloop()
3. 效果
我們可以發現,文字框控制項的寬度明顯大於label控制項的寬,但是文字框控制項只佔乙個單元格,所以該單元格所在的列都被拉伸為文字框的寬度。注意:
控制項必須呼叫grid方法進行布局操作,否則不可見
Python之GUI程式設計
然後解壓到合適的路徑下,這裡解壓到了桌面。在cmd終端輸入以下 cd desktop cd 解壓的檔名 cd 一直到最後乙個子資料夾 cd python setup.py install 完成推薦使用最後一種方法。import easygui easygui.msgbox 嗨,你好呀 from ea...
Qt3 gui程式設計
在裝好的linux系統下第一次進行了gui程式設計,使用的是qt框架,只是實現了簡單的幾個控制項,不過個人覺得效果挺好的。實現了顯示label,button,spin和slider結合。主要還是了解了這個概念 訊號和槽。學習中.include label標頭檔案 include button標頭檔案...
《python核心程式設計》之GUI程式設計(續)
2018 6 19 這裡主要介紹gui的擴充套件。包括tix tk介面擴充套件 pmw python megawidgets thinter擴充套件 wxpython wxwidgets的python版本 以及pygtk gtk 的python版本 在前面的部落格裡面介紹了label,button的...