python GUI开发: tkinter选项卡,移动滑块,颜色选择框,文本对话框,对话输入框,通用消息框模块用法详解




import tkinter as tk
from tkinter import ttk
 
def create_tab(master):
    tab_control = ttk.Notebook(master)  # 创建选项卡控件
 
    # 创建第一个选项卡
    tab1 = ttk.Frame(tab_control)
    tab_control.add(tab1, text='选项卡1')  # 添加选项卡1
 
    # 创建第二个选项卡
    tab2 = ttk.Frame(tab_control)
    tab_control.add(tab2, text='选项卡2')  # 添加选项卡2
 
    tab_control.pack(expand=1, fill="both")  # 布局选项卡控件
 
def create_slider(master):
    s = ttk.Scale(master, orient=tk.HORIZONTAL, length=200, from_=0, to=10)
    s.pack()
 
def create_color_picker(master):
    color_v = tk.StringVar()
    color_chooser = ttk.Combobox(master, textvariable=color_v)
    color_chooser['values'] = ('red', 'green', 'blue')
    color_chooser.current(0)
    color_chooser.pack()
 
def create_text_dialog(master):
    def on_dialog():
        text_dialog.deiconify()
    btn = ttk.Button(master, text="打开对话框", command=on_dialog)
    btn.pack()
 
    text_dialog = tk.Toplevel(master)
    text_dialog.withdraw()  # 初始隐藏对话框
    message = tk.Message(text_dialog, text='这是一个消息对话框', width=200)
    message.pack()
 
def create_entry_dialog(master):
    def on_dialog():
        name = entry_field.get()
        print('输入的名字是:', name)
 
    btn = ttk.Button(master, text="打开输入对话框", command=on_dialog)
    btn.pack()
 
    entry_dialog = tk.Toplevel(master)
    entry_dialog.withdraw()  # 初始隐藏对话框
    label = tk.Label(entry_dialog, text="请输入你的名字:")
    label.pack()
    entry_field = tk.Entry(entry_dialog)
    entry_field.pack()
    btn_ok = ttk.Button(entry_dialog, text="确定", command=lambda: [on_dialog(), entry_dialog.destroy()])
    btn_ok.pack()
 
def main():
    root = tk.Tk()
    root.title("GUI 示例")
 
    # 创建选项卡
    create_tab(root)
 
    # 创建滑块
    create_slider(root)
 
    # 创建颜色选择框
    create_color_picker(root)
 
    # 创建文本对话框
    create_text_dialog(root)
 
    # 创建输入对话框
    create_entry_dialog(root)
 
    root.mainloop()
 
if __name__ == '__main__':
    main()

这段代码展示了如何在Python中使用tkinter库创建一个简单的GUI应用程序,其中包括了选项卡、滑块、颜色选择框、文本对话框和输入对话框的创建。每个功能被封装在一个单独的函数中,主函数main()则调用这些功能来创建和展示GUI界面。

最后修改于:2024年08月13日 09:34

评论已关闭

推荐阅读

Vue中使用mind-map实现在线思维导图
2024年08月04日
VUE
Web前端最全Vue实现免密登录跳转的方式_vue怎么样不登录返回首页,最强技术实现
2024年08月04日
VUE
vue3 项目搭建教程(基于create-vue,vite,Vite + Vue)
2024年08月04日
VUE
Vue-颜色选择器实现方案——>Vue-Color( 实战*1+ Demo*7)
2024年08月04日
VUE
Vue项目卡顿慢加载?这些优化技巧告诉你!_vue数据多渲染卡顿
2024年08月04日
VUE
vue中的keep-alive详解与应用场景
2024年08月04日
VUE
Vue、React实现excel导出功能(三种实现方式保姆级讲解)
2024年08月04日
vue-office/docx插件实现docx文件预览
2024年08月04日
VUE
java调用js文件的两种方法(支持V8引擎)
2024年08月04日
JavaScript:解决计算精度问题/mathjs/bignumber.js/big.js/decimal.js
2024年08月04日
两周从爬虫小白变大神 _yjs_js_security_passport
2024年08月04日
JS笔记(对象、函数、数组)
2024年08月04日
Markdown.js:强大的纯JavaScript Markdown解析器
2024年08月04日
Vue项目:js模拟点击a标签下载文件并重命名,URL文件地址下载方法、请求接口下载文件方法总结。
2024年08月04日
vue 父组件怎么获取子组件里面的data数据
2024年08月04日
VUE
个人开发实现AI套壳网站快速搭建(Vue+elementUI+SpringBoot)
2024年08月04日
el-table 表格封装并改造实现单元格可编辑
2024年08月04日
none
nodejs环境下创建vue项目、SSH密钥登陆!!!
2024年08月04日
vue+quill+element-ui实现视频、图片上传及缩放保姆级教程,轻松使用富文本
2024年08月04日
【three.js】22. Imported Models导入模型
2024年08月04日