最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python使用tkinter實現(xiàn)自定義多參數(shù)對話框

 更新時間:2023年08月24日 09:08:14   作者:微小冷  
Tkinter模塊是Python標準庫中的一部分,用于創(chuàng)建圖形用戶界面(GUI)應用程序,它提供了一組工具和組件,用于創(chuàng)建窗口、按鈕、文本框等用戶界面元素,并且可以響應用戶的輸入,本文將給大家講講python如何使用tkinter實現(xiàn)自定義多參數(shù)對話框

參數(shù)對話框

tkinter 提供了三種參數(shù)對話框,用于輸出浮點型、整型和字符串,分別是 askfloat , askinteger 以及 askstring ,使用方法如下

在這里插入圖片描述

代碼如下

import tkinter as tk
from tkinter.simpledialog import *
tk.Tk()     # 相當于開啟Tkinter服務
askfloat("askfloat", "please input float")
# 3.1415926
askinteger("askinteger", "please input a integer number")
# 299732458
askstring("askstring", "please input string")
# 'tiny cool'

自定義參數(shù)對話框

這三個對話框一次只能輸入一個參數(shù),并不方便,但tkinter作為一個完備的開發(fā)框架,程序員完全可以自定義一個參數(shù)對話框,用于設(shè)置多組參數(shù)。

整體思路用到了Python中字典的地址引用的特性,即對于一個字典來說,當其作為參數(shù)傳入一個函數(shù)后,在函數(shù)中更改某個key的值,會連帶著改變函數(shù)外的這個字典。有點類似于C語言中指針作為參數(shù)時的情況。

所以,接下來設(shè)計一個Tk的子類AskDct,其初始化參數(shù)為一個字典,AskDct根據(jù)這個字典的key來生成輸入控件,并根據(jù)輸入控件的輸入情況,來更改傳進來的字典。

代碼如下

import tkinter as tk
import tkinter.ttk as ttk
class AskDct(tk.Tk):
    def __init__(self, dct):
        super().__init__()
        self.title("請輸入?yún)?shù)")
        self.dct = dct
        self.initWidgets()
        self.mainloop()
    def initWidgets(self):
        self.varDct = {}
        for i,key in enumerate(self.dct):
            self.varDct[key] = tk.StringVar()
            frm = tk.Frame(self)
            frm.pack(side=tk.TOP)
            ttk.Label(frm, text=key, width=10).pack(side=tk.LEFT, pady=2)
            ttk.Entry(frm, width=20,
                textvariable=self.varDct[key]).pack(side=tk.LEFT, pady=2)
        frm = tk.Frame(self)
        frm.pack(side=tk.TOP)
        ttk.Button(self, text="取消", width=10,
            command=self.btnCancel).pack(side=tk.RIGHT, pady=2)
        ttk.Button(self, text="確定", width=10,
            command=self.btnOK).pack(side=tk.RIGHT, pady=2)
    def btnOK(self):
        for key in self.dct:
            self.dct[key] = self.varDct[key].get()
        self.btnCancel()
    def btnCancel(self):
        self.destroy()
        self.quit()

其中,self.dct就是傳遞進來的字典,initWidgets根據(jù)這個字典來生成左右兩列輸入控件:左邊是參數(shù)名,右邊是參數(shù)的輸入框。最下面是兩個按鈕,分別是取消按鈕和設(shè)置按鈕。

取消按鈕綁定了btnCancel函數(shù),直接銷毀對象并退出窗口,但不對字典做任何操作。而btnOK則在退出之前,對字典進行賦值。

最后效果如下

在這里插入圖片描述

到此這篇關(guān)于python使用tkinter實現(xiàn)自定義多參數(shù)對話框的文章就介紹到這了,更多相關(guān)python tkinter自定義對話框內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于tensorflow的幾種參數(shù)初始化方法小結(jié)

    關(guān)于tensorflow的幾種參數(shù)初始化方法小結(jié)

    今天小編就為大家分享一篇關(guān)于tensorflow的幾種參數(shù)初始化方法小結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • python算法與數(shù)據(jù)結(jié)構(gòu)之單鏈表的實現(xiàn)代碼

    python算法與數(shù)據(jù)結(jié)構(gòu)之單鏈表的實現(xiàn)代碼

    鏈表是一種物理存儲單元上非連續(xù)、非順序的存儲結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過鏈表中的指針鏈接次序?qū)崿F(xiàn)的。這篇文章主要介紹了python算法與數(shù)據(jù)結(jié)構(gòu)之單鏈表的實現(xiàn)代碼,需要的朋友可以參考下
    2019-06-06
  • vue+element-ui動態(tài)加載本地圖片方式

    vue+element-ui動態(tài)加載本地圖片方式

    這篇文章主要介紹了vue+element-ui動態(tài)加載本地圖片方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • django報錯設(shè)置auth User的解決

    django報錯設(shè)置auth User的解決

    本文主要介紹了django報錯設(shè)置auth User的解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • python模擬事件觸發(fā)機制詳解

    python模擬事件觸發(fā)機制詳解

    這篇文章主要為大家詳細介紹了python模擬事件觸發(fā)機制的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • python實現(xiàn)圖書館借閱系統(tǒng)

    python實現(xiàn)圖書館借閱系統(tǒng)

    這篇文章主要為大家詳細介紹了python實現(xiàn)圖書館借閱系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Python裝飾器的兩種使用心得

    Python裝飾器的兩種使用心得

    裝飾器(Decorators)是 Python 的一個重要部分。簡單地說:他們是修改其他函數(shù)的功能的函數(shù)。他們有助于讓我們的代碼更簡短,也更Pythonic(Python范兒),今天通過本文給大家分享Python裝飾器使用小結(jié),感興趣的朋友一起看看吧
    2021-09-09
  • python實現(xiàn)2048小游戲

    python實現(xiàn)2048小游戲

    本文給大家分享的是個人修改自某網(wǎng)友的Python實現(xiàn)2048小游戲的代碼,推薦給大家,有需要的小伙伴可以參考下。
    2015-03-03
  • python 實現(xiàn)倒排索引的方法

    python 實現(xiàn)倒排索引的方法

    今天小編就為大家分享一篇python 實現(xiàn)倒排索引的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Pytorch閱讀文檔中的flatten函數(shù)

    Pytorch閱讀文檔中的flatten函數(shù)

    PyTorch提供了一個非常方便的函數(shù)flatten()來完成這個任務,本文將介紹Pytorch閱讀文檔中的flatten函數(shù),并提供一些示例代碼,感興趣的朋友一起看看吧
    2023-11-11

最新評論

大丰市| 西丰县| 昌邑市| 大化| 临颍县| 敦煌市| 新巴尔虎右旗| 虎林市| 靖江市| 临沭县| 曲松县| 蓬安县| 台山市| 西畴县| 竹溪县| 屏山县| 香格里拉县| 北宁市| 新和县| 格尔木市| 霞浦县| 长治市| 任丘市| 化德县| 竹北市| 泾源县| 辉县市| 和平区| 商河县| 芷江| 池州市| 罗甸县| 获嘉县| 通渭县| 安福县| 乃东县| 通州市| 十堰市| 武定县| 科尔| 宜兴市|