栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

tkinter问题记录处理

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

tkinter问题记录处理

python tkinter中Combobox设置默认值失败处理方法

代码如下(示例):解决设置current()默认值不成功

from tkinter import ttk
import tkinter as tk

class MyWindow():
    def __init__(self):
        self.wind = tk.Tk()
        self.values = [1,2,3,4]

    def func1(self):
        val = tk.StringVar()
        combo = ttk.Combobox(self.wind, width=12, textvariable=val, state='readonly')
        combo['values'] = self.values
        combo.grid()
        # 设置默认值函数
        combo.current(1)

    def main(self):
        self.wind.title('下拉框设置默认值')
        self.wind.geometry('50x50')

        self.func1()
        self.wind.mainloop()

if __name__ == '__main__':
    m = MyWindow()
    m.main()

代码如下(示例):这样默认值是设置不了的,具体的原因我觉得就是个bug,没有研究过。如果想要设置默认值成功需要将函数func1()中的combo返回出去在外部调用current函数。

from tkinter import ttk
import tkinter as tk

class MyWindow():
    def __init__(self):
        self.wind = tk.Tk()
        self.values = [1,2,3,4]

    def func1(self):
        val = tk.StringVar()
        combo = ttk.Combobox(self.wind, width=12, textvariable=val, state='readonly')
        combo['values'] = self.values
        combo.grid()
        # 设置默认值函数
        # combo.current(1)
        return combo


    def main(self):
        self.wind.title('下拉框设置默认值')
        self.wind.geometry('300x50')

        self.func1().current(0)
        self.wind.mainloop()

if __name__ == '__main__':
    m = MyWindow()
    m.main()
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/822679.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号