国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python tkinter的grid布局及Text動態(tài)顯示方法

2020-02-15 23:08:57
字體:
供稿:網(wǎng)友

在python中g(shù)ui編程有很多中選擇,如果是相對簡單的gui的話使用python自帶的tkinter即可,但是由于tkinter沒有詳細的API文檔,要使用起來比較麻煩,而且不夠美觀,如果是要求比較高的gui編程,推薦使用PyQt或者wxpython。

我在這里主要說一下tkinter中3種布局方式中的grid布局,在之前寫個比較簡單的軟件的時候遇到了寫問題,在此記錄下來。

1. grid中的一些參數(shù):需要聲明的是,行列大小由該列/行中最大組件大小所決定!!

column:  對應(yīng)的放置的所在的列序號columnspan: 表示該組件需要橫跨多少列row:   對應(yīng)的放置的所在的行序號rowspan:  表示組件需要橫跨多少行ipadx:  需要注意,這個參數(shù)表示x方向的內(nèi)部填充,即以內(nèi)部顏色為標(biāo)準(zhǔn)向左右方向擴展ipady:  同上padx:  這個是表示x方向的外部填充pady:  同上

例子如下:

import tkinter as tk windows = tk.Tk()windows.geometry('500x500') ## 規(guī)定窗口大小500*500像素windows.resizable(False, False) ## 規(guī)定窗口不可縮放lab1 = tk.Label(windows, text='lab1', height=1, width=15, bg='blue', fg='white')lab1.grid(row=0, column=0, padx=5, pady=5)lab2 = tk.Label(windows, text='lab2', height=1, width=15, bg='blue', fg='white')lab2.grid(row=0, column=1, ipadx=5, ipady=5)lab3 = tk.Label(windows, text='lab3', height=1, width=15, bg='red', fg='white')lab3.grid(row=0, column=2)windows.mainloop()

Python tkinter的grid布局

圖片中l(wèi)ab1附近白色的部分就是外部填充的,根據(jù)外部顏色來向外擴展;lab2中明顯藍色變大,是內(nèi)部填充,根據(jù)內(nèi)部顏色向外擴展, 而lab3之所以看上去和lab1相同是因為第一行(row=0)的大小已經(jīng)被lab1擴展了5個像素,所以lab3想當(dāng)與一個小盒子放在大盒子里居中放置,看上去和lab1相同。

2. tkinter中Text的動態(tài)顯示問題:

tkinter中的Text組件能夠顯示文本,我在做自然語言處理相關(guān)軟件時經(jīng)常用到,在這我之前遇到如何動態(tài)顯示輸出的情況。我的解決方法是使用Text組件的update()方法,因為窗口的刷新需要事件的觸發(fā)才能刷新,而文本的動態(tài)刷新我們只需要把Text對象保存,每次需要插入文本時使用如下的方式來及時更新:

## 格式化輸出的字符串textvar = "Step:%3d,Train_loss:%9g,Train_accuracy: %g" %(itr, loss_train, accuracy_train)## 插入對應(yīng)的Text對象中tebox.insert('insert', textvar+'/n')插入后及時的更新tebox.update()

當(dāng)然,可以使用多線程技術(shù)保證windows的mainloop()方法能夠一直等待事件的發(fā)生,而令一條線程工作的同時實時更新Text組件。

Python tkinter的grid布局

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 郓城县| 深圳市| 桂林市| 璧山县| 柞水县| 绥阳县| 东台市| 西林县| 栾城县| 水城县| 嵊州市| 绍兴县| 天台县| 轮台县| 扶风县| 禹州市| 太和县| 射洪县| 资源县| 高雄县| 湘乡市| 镇沅| 丹阳市| 堆龙德庆县| 绥江县| 高清| 广平县| 濉溪县| 南涧| 沈阳市| 易门县| 顺昌县| 宜城市| 宝山区| 手游| 墨竹工卡县| 竹北市| 鄱阳县| 京山县| 巴里| 洛阳市|