IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python之GUI组件Tkinter控件大合集 -> 正文阅读

[Python知识库]Python之GUI组件Tkinter控件大合集

# -*- coding: utf8 -*-'
import tkinter as tk
from tkinter import Label, font
import tkinter.messagebox as messagebox

font_str = ('Arial', 20)


def InitWindow(_window):
    global window
    window = _window


def DrawTest():
    DrawLabel()
    DrawButton()
    DrawEntry()
    DrawText()
    DrawListbox()
    DrawRadioButton()
    DrawCheckButton()
    DrawScale()
    DrawCanvas()
    DrawMenu()
    DrawFrame()
    DrawMessageBox()

# DrawLabel ======================================


def DrawLabel():
    print("draw lable")
    global var
    var = tk.StringVar()
    l = tk.Label(window, textvariable=var, bg="green", font=font_str, width=30, height=2)
    l.pack()
# End DrawLabel ==================================


# DrawButton ======================================
def DrawButton():
    print("draw button")
    b = tk.Button(window, text="hit me", width=10, height=1, command=hit_me)
    b.pack()


on_hit = False


def hit_me():
    global on_hit
    if on_hit == False:
        var.set("hit me")
    else:
        var.set("")
    on_hit = not on_hit
# End DrawButton ==================================


# DrawEntry ======================================
def DrawEntry():
    print("draw entry")
    e1 = tk.Entry(window, show="*", font=font_str)
    e1.pack()
    e2 = tk.Entry(window, show=None, font=font_str)
    e2.pack()
# End DrawEntry ==================================


# DrawText ======================================
def DrawText():
    print("draw text")
    b1 = tk.Button(window, text="insert", width=10, height=1, command=on_inset)
    b1.pack()
    b2 = tk.Button(window, text="end", width=10, height=1, command=on_end)
    b2.pack()
    global e
    e = tk.Entry(window, show=None, font=font_str)
    e.pack()
    global t
    t = tk.Text(window, font=font_str, height=3)
    t.pack()


def on_inset():
    var_text = e.get()
    t.insert("insert", var_text)


def on_end():
    var_text = e.get()
    t.insert("end", var_text)
# End DrawText ==================================


# DrawListbox ======================================
def DrawListbox():
    print("draw list box")
    global var_listbox
    var_listbox = tk.StringVar()
    l_listbox = tk.Label(window, bg="green", fg="yellow", font=font_str, width=10, textvariable=var_listbox)
    l_listbox.pack()

    b_listbox = tk.Button(window, text="print selection", width=15, height=2, command=print_selection_lb)
    b_listbox.pack()

    list_items = ["aa", "bb", "cc", "dd"]
    global lb
    var_listbox2 = tk.StringVar()
    var_listbox2.set((1, 2, 3, 4))

    lb = tk.Listbox(window, listvariable=var_listbox2)
    for item in list_items:
        lb.insert("end", item)
    lb.insert(1, "first")
    lb.insert(2, "second")
    lb.delete(2)
    lb.pack()


def print_selection_lb():
    value = lb.get(lb.curselection())
    var_listbox.set(value)
# End DrawListbox ==================================



# DrawRadioButton ======================================
def DrawRadioButton():
    print("draw radio button")
    global var_rb
    var_rb = tk.StringVar()
    global l_rb
    l_rb = tk.Label(window, bg="yellow", width=20, text="empty")
    l_rb.pack()
    rb1 = tk.Radiobutton(window, text="选项1", variable=var_rb, value="A", command=print_selection_rb)
    rb1.pack()
    rb2 = tk.Radiobutton(window, text="选项2", variable=var_rb, value="B", command=print_selection_rb)
    rb2.pack()
    rb3 = tk.Radiobutton(window, text="选项3", variable=var_rb, value="C", command=print_selection_rb)
    rb3.pack()

def print_selection_rb():
    l_rb.config(text="You have selected " + var_rb.get())
# End DrawRadioButton ==================================


# DrawCheckButton ======================================
def DrawCheckButton():
    print("draw check button")
    global l_cb
    l_cb = tk.Label(window, bg="yellow", width=20, text="empty")
    l_cb.pack()
    global var_cb1, var_cb2
    var_cb1 = tk.IntVar()
    var_cb2 = tk.IntVar()
    cb1 = tk.Checkbutton(window, text="Python", variable=var_cb1, onvalue=1, offvalue=0, command=print_selection_cb)
    cb1.pack()
    cb2 = tk.Checkbutton(window, text="C++", variable=var_cb2, onvalue=1, offvalue=0, command=print_selection_cb)
    cb2.pack()

def print_selection_cb():
    if (var_cb1.get() == 1) & (var_cb2.get() == 0):
        l_cb.config(text="I love only python")
    elif (var_cb1.get() == 0) & (var_cb2.get() == 1):
        l_cb.config(text="I love only c++")
    elif (var_cb1.get() == 0) & (var_cb2.get() == 0):
        l_cb.config(text="I do not love either")
    else:
        l_cb.config(text="I love both")
# End DrawCheckButton ==================================


# DrawScale ======================================
def DrawScale():
    print("draw scale")
# End DrawScale ==================================



def DrawCanvas():
    print("draw canvas")


# DrawMenu ======================================
def DrawMenu():
    print("draw menu")
    menubar = tk.Menu(window)
    fileMenu = tk.Menu(menubar, tearoff=0)
    menubar.add_cascade(label="File", menu=fileMenu)

    fileMenu.add_command(label="Open", command=do_job)
    fileMenu.add_separator()
    fileMenu.add_command(label="Exit", command=window.quit)

    editMenu = tk.Menu(menubar, tearoff=0)
    menubar.add_cascade(label="Edit", menu=editMenu)
    editMenu.add_command(label="Cut", command=do_job)
    editMenu.add_command(label="Copy", command=do_job)
    editMenu.add_command(label="Paste", command=do_job)
    
    window.config(menu=menubar)

def do_job():
    print("do_job")
# End DrawMenu ==================================



def DrawFrame():
    print("draw frame")


# DrawMessageBox ======================================
def DrawMessageBox():
    print("draw message box")
    b_mb = tk.Button(window, text="Message Box", font=font_str, command=hit_me_mb)
    b_mb.pack()

def hit_me_mb():
    messagebox.showerror(title="Error!!", message="出错了!!")
# End DrawMessageBox ==================================
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-14 15:53:53  更:2021-12-14 15:56:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 5:25:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码