GUI 之 Tkinter编程

GUI 图形界面,Tkinter 是 Python 内置的 GUI 库,IDLE 就是 Tkinter 设计的。

1. Tkinter 之初体验

import tkinter as tk

root = tk.Tk()      # 创建一个窗口

root.title('窗口标题')

# 添加 label 组件
theLabel = tk.Label(root, text='文本内容')
theLabel.pack()     # 可自动调节组件尺寸

root.mainloop()     # 主事件循环

封装版

参数:

# 1. pack() 方法 side 参数:设置对齐方式,有 LEFT、RIGHT、TOP、TOTTOM 四个方位,默认 TOP
pack(side = tk.LEFT)

# 2. pack() 方法之 padx、pady 参数:自定义按钮偏移位置
pack(padx = 20, pady = 20)			# 偏移 x、y 20 个像素

# 3. 前景算、背景色设置
tk.Button(fg='blue', bg='red')
import tkinter as tk


class Bar:
    def __init__(self, root):
        frame = tk.Frame(root)      # 创建一个框架,里面添加一个 button 按钮,框架一般用于将组件分组
        frame.pack(side=tk.LEFT, padx=20, pady=20)

        # 创建一个按钮组件,fg(foreground 缩写,即前景色),command:调用函数
        self.that = tk.Button(frame, text='打招呼', fg='blue', command=self.sya_hi)
        self.that.pack(side=tk.LEFT)        # side: 对齐 LEFT、RIGHT、TOP、TOTTOM 四个方位,默认 TOP

    def sya_hi(self):
        print('大家好,我是 rose~')

root = tk.Tk()
b = Bar(root)

root.mainloop()

2. Label 组件

Label 组件用于界面输出描述的标签,一般用作提示。

Label() 部分参数:

  • justify:设置组件中文字对齐方式
  • padx、pady:组件与边框的距离
  • text:文本内容
  • font、fg、bg:文本字体、文字颜色、背景色
  • compound:CENTER,设置文本和图像混合模式(图像作为背景,文字在其上面)
  • textvariable:接收文本对象
# 创建一个文本 label 对象

var = StringVar()
var.set('你所下载的。。。')

theLabel = Label(textvariable=var, justify=LEFT)
theLabel.pack(side=LEFT)`
from tkinter import *

root = Tk()

textLabel = Label(root, text='你下载的影片含有未成年人限制内容,\n 请满18岁再观看!',
                  justify=LEFT, padx=10)
textLabel.pack(side=LEFT)   # 可自助调节自身尺寸

photo = PhotoImage(file='3.gif')    # 仅支持 gif 格式
imageLabel = Label(root, image=photo)
imageLabel.pack(side=RIGHT)

mainloop()

Tips: 图片仅支持 .gif 格式

设置背景图片

from tkinter import *

root = Tk()

photo = PhotoImage(file='3.gif')    # 仅支持 gif 格式

textLabel = Label(root, text='你下载的影片含有未成年人限制内容,\n 请满18岁再观看!',
                  justify=LEFT, padx=10, compound=CENTER, image=photo, font=('华康少女字体', 20), fg='blue')
textLabel.pack(side=LEFT)   # 可自助调节自身尺寸


mainloop()

3. Button 组件

Button 组件用于实现一个按钮,并且可以接收用户的输入信息。

Button() 参数:

  • command:指定一个函数或方法,当用户点击按钮时,自动调用这个函数。可用来接收用户输入的值
from tkinter import *


def func(*args, **kwargs):

    print(args, kwargs)

root = Tk()

frame1 = Frame()
frame2 = Frame()

# 创建一个文本 label 对象
var = StringVar()
var.set('你所下载的。。。')

theLabel = Label(frame1, textvariable=var, justify=LEFT)
theLabel.pack(side=LEFT)

# 创建一个图形 label 对象
photo = PhotoImage(file='3.gif')
imgLabel = Label(frame1, image=photo)
imgLabel.pack(side=RIGHT)

theButton = Button(frame2, text='已满', command=func)
theButton.pack()

frame1.pack(padx=10, pady=10)
frame2.pack(padx=10, pady=10)


mainloop()

4. CheckButton 组件

Checkbutton 多选按钮,RadioButton 单选按钮。

from tkinter import *


root = Tk()

# 定义一个变量,以确认该按钮是否被选中
v = IntVar()

c = Checkbutton(root, text='测试', variable=v)
c.pack()

# 选项被选中,v = 1,否则为 0
# 展示变量 v 的值
l = Label(root, textvariable=v)
l.pack()

mainloop()

四个选项

pack() 方法的 anchor 参数可用来设置选项对齐方式,共有八个方向(上北下南左西又东/ N、NE、E、SE、S、SW、W、NW)

from tkinter import *


root = Tk()

girls = ['西施', '王昭君', '貂蝉', '杨玉环']
v = []

for girl in girls:
    v.append(IntVar())
    b = Checkbutton(root, text=girl, variable=v[-1])
    b.pack(anchor=W)        # 设置左对齐

mainloop()

Menu 组件

from tkinter import *

root = Tk()

def callback():
    print('...')

menubar = Menu(root)

# 下拉菜单 "文件",添加到顶级菜单中
filemenu = Menu(menubar, tearoff=False)

filemenu.add_command(label='打开', command=callback)
filemenu.add_command(label='保存', command=callback)
filemenu.add_separator()
filemenu.add_command(label='退出', command=quit)

menubar.add_cascade(label='文件', menu=filemenu)

# 编辑下拉菜单
editmenu = Menu(menubar, tearoff=False)
editmenu.add_command(label='剪切', command=callback)
editmenu.add_command(label='拷贝', command=callback)
editmenu.add_command(label='粘贴', command=callback)

menubar.add_cascade(label='编辑', menu=editmenu)


root.config(menu=menubar)

mainloop()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Python GUI Tkinter界面编程使用Python编程语言Tkinter模块创建图形用户界面的过程。TkinterPython标准库中的一个模块,它提供了一组工具和组件,可以用于创建各种类型的GUI应用程序使用Tkinter开发人员可以创建按钮、标签、文本框、滚动条、菜单等各种控件,并将它们组合在一起以创建完整的GUI应用程序Tkinter还提供了一些布局管理器,可以帮助开发人员轻松地布置和排列控件。Python GUI Tkinter界面编程Python编程中的一个重要领域,它可以用于创建各种类型的应用程序,如桌面应用程序、游戏、数据可视化工具等。 ### 回答2: Python是一种高级编程语言,广泛应用于各种领域,其中图形用户界面(GUI编程是其中一个重要分支。TkinterPython最常用的GUI编程库之一,它提供了一组常用的GUI组件,如按钮、标签、文本框等,可以通过构建这些组件来创建各种各样的GUI应用程序。 首先,要使用Tkinter编写GUI应用程序,需要导入tkinter模块。然后,可以定义一个根窗口对象,并使用各种组件来构建GUI界面。例如,可以使用Button组件创建一个按钮,使用Label组件创建一个标签,使用Entry组件创建一个文本框等。 在创建GUI界面时,可以设置组件的各种属性,如位置、大小、颜色、字体等。此外,还可以通过为组件定义回调函数来实现用户交互功能,例如通过按钮的点击事件来执行一些操作。 除了基本的组件,Tkinter还提供了其他高级组件,如Canvas、Menu、ScrollBar等,可以用于创建更复杂的GUI应用程序。此外,Tkinter还支持图片、动画、声音等多媒体功能,并提供了一些布局管理器,可帮助开发人员更方便地控制GUI界面的布局。 总之,Python Tkinter是一个功能强大的GUI编程库,可以用于构建各种类型的GUI应用程序。它易于学习、灵活性强、并且与Python语言天然结合,使得开发者拥有无限可能,可以借此创建出非常漂亮、实用的GUI应用程序,带来很好的使用体验。 ### 回答3: Python是一种非常流行的面向对象编程语言,被广泛用于数据科学和机器学习等领域。TkinterPython的一个标准图形用户界面(GUI)工具包,它提供了一个方便的方式来创建窗口和各种用户界面元素,如标签,按钮,文本框和滑块等。 TkinterPython内置的库之一,因此使用它无需安装任何其他的软件或库。这使得开发者可以快速方便地开始使用TkinterGUI开发工具。同时,由于它是Python的一部分,所以与使用其他GUI库时存在的兼容性问题也比较少。 在使用Tkinter进行GUI开发时,开发者通常会建立一个主窗口或根窗口,然后向该窗口添加各种用户界面元素,例如标签,按钮等。这些元素可以通过代码定义,或者可以使用可视化设计工具来创建和配置。 对于新手和初学者而言,需要花费一些时间来熟悉Tkinter的API以及如何构建GUI。但一旦掌握了基本的概念和方法,就可以快速地创建复杂的窗口和应用程序Tkinter还提供了一些高级功能,例如对话框,菜单和弹出式菜单等,这些功能可以帮助开发者创建更加丰富和互动的用户界面。 PythonTkinter在数据科学和机器学习领域已经被广泛采用,也有很多文档和资源可以参考。因此,尽管Tkinter最初可能会对一些开发者来说具有一定的学习曲线,但它仍然是一种强大和流行的GUI工具包,可以帮助使用Python进行开发并创建出漂亮的界面。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风老魔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值