Python GUI 介绍 与 Tkinter 框架 笔记

1、学习资料:

官方文档:

https://docs.python.org/zh-tw/3.12/library/tkinter.html

CSDN

主题 皮肤

ttkbootstrap.readthedocs.io/en/latest/

github.com/rdbende/Sun-Valley-ttk-theme

2、首个例子 Hello World!

from tkinter import *
from tkinter import ttk
root = Tk()
frm = ttk.Frame(root, padding=10)
frm.grid()
ttk.Label(frm, text="Hello World!").grid(column=0, row=0)
ttk.Button(frm, text="Quit", command=root.destroy).grid(column=1, row=0)
root.mainloop()

 pip install sv-ttk

from tkinter import *
from tkinter import ttk
import sv_ttk
root = Tk()
frm = ttk.Frame(root, padding=10)
frm.grid()
ttk.Label(frm, text="Hello World!").grid(column=0, row=0)
ttk.Button(frm, text="Quit", command=root.destroy).grid(column=1, row=0)
sv_ttk.set_theme("dark")
root.mainloop()

python -m pip install ttkbootstrap

https://ttkbootstrap.readthedocs.io/en/latest/gallery/

import ttkbootstrap as ttk
from ttkbootstrap.constants import *

root = ttk.Window(themename="superhero")

b1 = ttk.Button(root, text="Submit", bootstyle="success")
b1.pack(side=LEFT, padx=5, pady=10)

b2 = ttk.Button(root, text="Submit", bootstyle="info-outline")
b2.pack(side=LEFT, padx=5, pady=10)

root.mainloop()

3、资料总览 

 1 tk模块和ttk模块的组件和功能

2 组件中常用的参数及其功能 

 3 组件的常用方法及其作用

4 tkinter中常用的事件类型

4、案例

1 文件对话框

from tkinter import *
from tkinter import filedialog as fd

from tkinter import ttk
import sv_ttk


class MyApp(Tk):
    """继承Tk,创建自己的桌面应用程序类"""
    
    def __init__(self):
        """构造函数"""
        
        super().__init__()
        
        self.title('文件对话框')
        # self.iconbitmap('res/Tk.ico')
        self.init_ui()
    
    def init_ui(self):
        """初始化界面"""
        
        info = StringVar()
        info.set('')

        f = ttk.Frame(self)
        f.pack(padx=20, pady=10)

        ttk.Button(f, text='选择文件', command=lambda :info.set(fd.askopenfilename(title='选择文件'))).pack(side=LEFT, padx=10)
        ttk.Button(f, text='选择目录', command=lambda :info.set(fd.askdirectory(title='选择目录'))).pack(side=LEFT, padx=10)
        ttk.Button(f, text='保存文件', command=lambda :info.set(fd.asksaveasfilename(title='保存文件', defaultextension='.png'))).pack(side=LEFT, padx=10)

        ttk.Label(f, textvariable=info).pack(expand='yes', fill='x', padx=5, pady=20)

if __name__ == '__main__':
    app = MyApp()
    sv_ttk.set_theme("dark")
    app.mainloop()

。。。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值