码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • tkinter常用组件


    tkinter说明和基本使用

    • 导入tkinter包
    • 初始化
    • 窗口
    • 组件部分
      • Button
      • Text
        • 如何加载文本
        • 如何获取文本框的值
        • 如何删除文本框的内容
      • Frame
      • Combobox (下拉框)
        • 设置选中
        • 绑定回调
        • 获取选中的值
      • Checkbutton(多选框)
        • 全选程序
        • 全取消程序

    导入tkinter包

    from tkinter import *
    import tkinter as tk
    
    • 1
    • 2

    初始化

    简单运行tkinter程序

    init_window = Tk()  # 实例化出一个父窗口
    init_window.mainloop() # 父窗口进入循环
    
    • 1
    • 2

    在这里插入图片描述

    窗口

    init_window_name.title("title")  # 窗口名
    self.init_window_name.geometry('800x600+10+10') # 设置窗口大小,窗口初始位置
    
    • 1
    • 2

    以上是部分窗口属性设置,更多的查阅其他资料

    组件部分

    说明:
    组件对象创建后,要记得,需要进行pack或者grid调用,否则是不会展示在窗口上。
    PS:

    1. 同一个父控件,要统一用pack 或者 grid ,不能混合使用。控件1父控件是父窗口,控件2父控件是Frame,则可以不一样
    2. pack介绍: tkinter-pack布局详解
    3. grid介绍:《tkinter实用教程四》tkinter 布局管理 Grid

    Button

    Button(master=init_window_name, text="确认", bg="lightblue", width=100, command=self.addTitle)
    
    • 1

    参数介绍:
    master:绑定到某个父控件(父窗口或者Frame)
    text:展示的控件文本
    bg:控件的颜色
    width:宽度,单位是px
    command:回调函数
    height:高度

    Text

    可输入可复制的文本框

    Text(init_window,width = 100, height=1,font=14).pack()
    
    • 1

    参数介绍
    font:文本大小

    如何加载文本

    oText.insert("insert", sDesc)
    
    • 1

    如何获取文本框的值

    oText.get(1.0,END).strip() # 返回一个字符串
    
    • 1

    如何删除文本框的内容

    oText.delete(0,END)
    
    • 1

    Frame

    存放控件使用的容器

    Frame(init_window_name,width = 200,height = 100)
    
    • 1

    Combobox (下拉框)

    ttk.Combobox( # 第几节
                master=m_fInput,  # 父容器
                height=10,  # 高度,下拉显示的条目数量
                width=10,  # 宽度
                state="readonly",  # 设置状态 normal(可选可输入)、readonly(只可选)、 disabled
                cursor="arrow",  # 鼠标移动时样式 arrow, circle, cross, plus...
                font=("", 10),  # 字体
                textvariable=value,  # 通过StringVar设置可改变的值
                values=[ i for i in range(1,13)],  # 设置下拉框的选项
            )
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    设置选中

    oCombobox.current(0)
    
    • 1

    绑定回调

    oCombobox.bind("<<ComboboxSelected>>", lambda event: choose(self.oCombobox.get(),"ClassNo"))
    
    • 1

    获取选中的值

    oCombobox.get()
    
    • 1

    Checkbutton(多选框)

    for i in range(1,6):
                # BoolVar = BooleanVar()
                BoolVar = StringVar(value=str(i))
                text = str(i)
                checkBtn = Checkbutton(m_NewFrame,text=text,variable = BoolVar, offvalue='',command=self.CheckBoxUpdate)
                self.checkList.append(checkBtn)
                self.tCheckBoxVar.append(BoolVar)
                checkBtn.grid(row=0, column=i, pady=0, padx=0)
            self.tCheckBoxVar.append(StringVar())
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    全选程序

    v = self.tCheckBoxVar
            if v[-1].get():
                for index in range(0,5):
                    v[index].set(item)
    
    • 1
    • 2
    • 3
    • 4

    全取消程序

    v = self.tCheckBoxVar
            if v[-1].get():
                for index in range(0,5):
                    v[index].set("")
    
    • 1
    • 2
    • 3
    • 4

    本资料不全,内容有限供参考

  • 相关阅读:
    InfluxDB API -- InfluxDB笔记四
    未能将“obj\Debug\IOControl.exe”复制到“bin\Debug\IOControl.exe
    Linux下vim的简单使用方式
    u盘格式化后数据能恢复吗?
    【云原生之Docker实战】使用docker部署koel家庭个人音乐服务器
    StarRocks入门之路
    基于微信点餐外卖小程序系统设计与实现 开题报告
    RecyclerView Item中有EditText时点击事件处理
    Abbexa丨Abbexa PCR超级混合液使用说明和相关研究
    java设计模式之命令设计模式的前世今生
  • 原文地址:https://blog.csdn.net/qq_32762567/article/details/125510508
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号