python3GUI程式設計 grid布局

2021-07-22 06:44:37 字數 1620 閱讀 7480

本文章內容分兩部分,一、初步解析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的...