python图形用户界面tkinter之按钮Button的使用说明
作者:LLLLLLLLLLLLIU 发布时间:2022-09-14 06:48:28
python tkinter按钮Button的使用
创建和设置窗口
from tkinter import *
#创建窗口对象
root = Tk()
#窗口属性设置
root.title ('窗口标题')
root.geometry('300x400')
root.configure(bg='blue')
root.iconbitmap(r'C:\Users\Administrator\Desktop\iVista 2 OS X Icons ico\ico\Burn.ico')
Mark:使用了窗口的iconbitmap函数更改了图标。
按钮Button属性1
def print1():
print('你好')
button = Button(root,text='打印',
font=('楷体',20),fg='red',bg='black',
anchor='center',command=print1, #command是命令的意思
height=1,width=5,bd=6)
button.pack()
root.mainloop()
效果图示
Mark:Button按钮的很多属性和Label标签类似。
比如文本(text)、文本字体(font)、字体大小、颜色(fg)、文本在Button按钮中的位置(anchor)、文本中不同行的对齐方式(justify)、按钮的高度和宽度(height、width)、按钮的背景色(bg)等等。和Lable标签相比,Button按钮有回调函数,command=函数名,当点击按钮时,就会执行回调函数的代码块。
按钮Button属性2
def hello():
print('你好')
im = PhotoImage(file=r'C:\Users\Administrator\Desktop\图片PNG格式\喜鹊桃花折扇.png')
button = Button(root,text='button',command = hello,
height=500,width=500,image=im,
relief= SUNKEN)
button.pack()
root.mainloop()
效果图示
Mark:也可以在Button按钮上显示图片。
先将想要显示的图片转化为image对象(PhotoImage(file=‘图片路径’)),然后使用image属性,image=image对象。如果不设置按钮的高度和宽度(height,width),那么显示按钮的大小就是图片的大小。如果设置按钮的高度和宽度,则只会显示图片的一部分。这里,height、width的单位是像素单位。
修改Button属性
动态的修改按钮Button的属性
def print1():
#button['text']='Now you see me'
button.configure(text='Now you see me')
button = Button(root,text='打印',
font=('楷体',30),fg='red',bg='black',
anchor='center',command=print1,
height=1,width=20,bd=6)
button.pack()
root.mainloop()
效果图示
点击Button按钮后,文本内容变成
Mark:Button属性可以修改。
如果想呈现的效果是已经设置好的Button在点击按钮后属性发生了变化,可以在回调函数里修改Button的属性:Button对象[‘关键参数’]=要修改的值或Button对象.comfigure(关键参数=要修改的值)。
小结:通过Button对象,我们可以在窗口中设置不同外观的按钮。而且,点击Button按钮,可以执行函数中的代码块。
python tkinter的Button组件
这个地方难度不高,记住参数就行。
Tkinter的布局方式有三种
几何方法 | 描述 |
pack() | 包装; |
grid() | 网格; |
place() | 位置; |
代码如下:
# coding:utf8
import tkinter as tk
class APP:
def __init__(self, master):
frame = tk.Frame(master)
frame.pack(side=tk.RIGHT, padx=70, pady=100)
b4 = tk.Button(frame, text="测试command点击调用函数", bd="4", bg="yellow", command=lambda: self.Newtk("x"))
b4.pack()
@staticmethod
def Newtk(x):
if x != "x":
return 0
win1 = tk.Tk()
win1.title("提示信息")
frame1 = tk.Frame(win1)
frame1.pack(side=tk.RIGHT, padx=70, pady=100)
l1 = tk.Label(frame1, text="噢,你点击了。给你弹个框乐呵乐呵")
l1.pack()
admin = tk.Tk()
admin.title("测试Button")
win = APP(admin)
admin.mainloop()
w = Button ( master, option=value, ... )
序号 | 可选项 & 描述 |
---|---|
1 | activebackground 当鼠标放上去时,按钮的背景色 |
2 | activeforeground 当鼠标放上去时,按钮的前景色 |
3 | bd 按钮边框的大小,默认为 2 个像素 |
4 | bg 按钮的背景色 |
5 | command 按钮关联的函数,当按钮被点击时,执行该函数 |
6 | fg 按钮的前景色(按钮文本的颜色) |
7 | font 文本字体 |
8 | height 按钮的高度 |
9 | highlightcolor 要高亮的颜色 |
10 | image 按钮上要显示的图片 |
11 | justify 显示多行文本的时候,设置不同行之间的对齐方式,可选项包括LEFT, RIGHT, CENTER |
12 | padx 按钮在x轴方向上的内边距(padding),是指按钮的内容与按钮边缘的距离 |
13 | pady 按钮在y轴方向上的内边距(padding) |
14 | relief 边框样式,设置控件3D效果,可选的有:FLAT、SUNKEN、RAISED、GROOVE、RIDGE。默认为 FLAT。 |
15 | state 设置按钮组件状态,可选的有NORMAL、ACTIVE、 DISABLED。默认 NORMAL。 |
16 | underline 下划线。默认按钮上的文本都不带下划线。取值就是带下划线的字符串索引,为 0 时,第一个字符带下划线,为 1 时,前两个字符带下划线,以此类推 |
17 | width 按钮的宽度,如未设置此项,其大小以适应按钮的内容(文本或图片的大小) |
18 | wraplength 限制按钮每行显示的字符的数量 |
19 | text 按钮的文本内容 |
19 | anchor 锚选项,控制文本的位置,默认为中心 |
来源:https://blog.csdn.net/weixin_44851971/article/details/108044252


猜你喜欢
- 本文为大家分享了mysql 8.0安装配置方法,供大家参考,具体内容如下直接使用apt install mysql-server安装,那么恭
- 技术选型公司现在需要开发移动端的h5,使用现在比较流行的vue 2.0开发,使用的脚手架是Vant2,网络访问使用的是axios,路由跳转使
- Vue实现文本编译详情模板编译在数据劫持中,我们完成了Vue中data选项中数据的初始操作。这之后需要将html字符串编译为render函数
- 在写代码过程中,经常遇到一行代码很长的情况。为了让代码显得整齐干净,就需要把一行代码分成多行来写,Python中有两种小技巧可以实现该功能:
- 前言:本文从0到1实现django搭建一个web页面,实现了django连接mysql数据库,简单的get、post请求等一、使用pyach
- ansible 简介ansible 是什么?ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、
- 文件的属性所谓属性,就是能够通过一个文件对象得到的东西。>>> f = open("131.txt",
- 正在看的ORACLE教程是:Oracle 数据表分区的策略。本文描述通过统计分析出医院信息系统需分区的表,对需分区的表选择分区键,即找出包括
- 目的:JS+ASP打造无刷新新闻列表,下图所示的新闻列表相信大家并不少见,包括新闻的分页功能,本文要介绍的就是各分页间的切换方式。传统的方法
- 大部分面向对象的编程语言(除了C++)都只支持单继承,而不支持多继承,为什么呢?因为多继承不仅增加编程复杂度,而且容易导致莫名其妙的错误。P
- 准备工作查看肯德基官网的请求方法:post请求。X-Requested-With: XMLHttpRequest 判断得肯德基官网是ajax
- 从控制台输入要出的拳 —— 剪刀(0)/石头(1)/布(2) 电脑 **随机*
- 查询学生步骤1:设置导航 步骤2:添加路由步骤3:创建页面步骤:步骤1:准备2个变量(pageInfo、studentVo)步骤2
- 前言Python 字符串是一个内置的类型序列。字符串可用于处理 Python 中的文本数据。Python 字符串是 Unicode 点的不可
- 最近在使用echarts做报表需求,二次生成报表时数据合并,无法正确显示。第一次渲染:第二次渲染:可以看到这里的echarts项的serie
- 前言最近想做个小玩意,需要在mac端实现屏幕截图,搜了下网上中文资源都比较老旧,于是查了下,发现有些好用的Python库已经支持Mac 以及
- 使用Python的第三方库pyautogui,PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘
- 本文实例分析了Python字符串和文件操作常用函数。分享给大家供大家参考。具体如下:# -*- coding: UTF-8 -*-'
- 长期以来我就有对几年来交互设计的心得进行总结整理的想法。回到中国来亲身体会到不少同行,主要是交互设计师和视觉设计师对于交互设计的困惑,以及其
- 代码return JsonResponse({"name": "tom"})报错:TYPEERROR