中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Tkinter的微調框Spinbox怎么用

發布時間:2022-01-13 18:03:31 來源:億速云 閱讀:284 作者:iii 欄目:大數據

這篇文章主要介紹了Tkinter的微調框Spinbox怎么用的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Tkinter的微調框Spinbox怎么用文章都會有所收獲,下面我們一起來看看吧。

Spinbox控件可以用來從一組數據中選擇一個數,也可以用來對設定值進行微調。

首先還是準備字體和信息標簽:

# create fontftTimes = Font(family='Times', size=12, weight=BOLD)
# create a label to display message.label_text = StringVar()label = Label(root, textvariable=label_text)label.grid(row=2, column=0, columnspan=2, sticky=E + W)

生成一個用于文本選擇的Spinbox:

# value changed handling.def spin_changed(*args):    # get current value and set to label.    label_text.set(tb.get())
# create a Radiobutton for Teacher.tb = Spinbox(root,values=('Teacher', 'Student', 'Worker'),             state='readonly',             background="#ffffa0",foreground="#ff0000",             activebackground="#a0ffa0",             command=spin_changed, font=ftTimes)tb.grid(row=0, column=0, columnspan=1, sticky=W)

spin_changed函數用于處理選擇內容發生變化時的表示。它在構建Spinbox控件時通過command屬性指定,其內容是使用Spinbox的get方法取得選中的內容并設定到標簽控件上。

spinbox通過values屬性指定可選項集合。state指定為'readonly'可以限制用戶輸入。

第二個Spinbox是一個數字微調框,其代碼如下:

# control variable of value spinbox.vb_var = StringVar()vb_var.set('0.6')
def isOkay(text):    if text == '-':        return True    if len(text)==0:        return True    value = int(float(text) * 100)    if -100 <= value <= 100:        if value % 20 == 0:            return True    return False
首先聲明一個StringVar類型的變量用于設定和取得當前的選擇結果。

接下來的isOkay函數需要說明一下。它的功能是當用戶對Spinbox的選擇結果進行按鍵操作時判斷內容的合法性。在這個函數中,我們認為單獨的‘-’,空字符或者-1到1之間、間隔為0.2的值都是合法的。

接下來將這個函數登錄到root窗口。

okayCommand=root.register(isOkay)

在構建數值輸入SpinBox時,首先使用from_,to_和increment屬性執行合法數值。wrap=True可以實現數值的循環。

# create a value spinbox.vb = Spinbox(root,             from_=-1.0,to=1.0,increment=0.2,wrap=True,             background="#ffffa0", foreground="#ff0000",             activebackground="#a0ffa0",             textvariable=vb_var, font=ftTimes,             validate='key',             validatecommand=(okayCommand, '%P'))vb.grid(row=1, column=0, columnspan=1, sticky=W)

validatecommand屬性用于指定前面準備的okayCommand,'%P'表示參數為待檢查的輸入結果。另外一個validate屬性指定為'key'表示這個命令會在用戶鍵操作時被調用。這兩個屬性加上isOkey函數和注冊okayCommand四者結合在一起,實現了輸入檢查。

最后是監控變量的內容并表示在信息標簽上。

def var_changed(*args):    label_text.set(vb_var.get())# set variable observer.vb_var.trace_variable('w', var_changed)

關于“Tkinter的微調框Spinbox怎么用”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Tkinter的微調框Spinbox怎么用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

隆林| 岳普湖县| 奉新县| 汨罗市| 积石山| 正镶白旗| 余庆县| 隆子县| 西乌| 页游| 双峰县| 且末县| 莱州市| 金阳县| 逊克县| 白城市| 双牌县| 安乡县| 大埔区| 博湖县| 南召县| 蒙城县| 古丈县| 巴彦县| 广昌县| 马公市| 临澧县| 获嘉县| 中西区| 济源市| 大竹县| 芒康县| 河西区| 衢州市| 信阳市| 耒阳市| 寻乌县| 横山县| 托克逊县| 建昌县| 文安县|