Python GUI设计——Button功能按钮

这篇具有很好参考价值的文章主要介绍了Python GUI设计——Button功能按钮。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.简介

1.1定时程序设计

1.2颜色选择程序设计

2.使用Lambda表达式

3.建立含图像的功能按钮

4.简易计算器按钮设计

5.设计鼠标光标在功能按钮上的的形状


1.简介

功能按钮也称为按钮,在窗口组件中可以设计在单击功能按钮时,执行某一个特定的动作,这个动作也称为callback方法,也就是说我们可以将功能按钮当作用户与程序沟通的桥梁。功能按钮上面可以有文字,或是和标签一样可以有图像,如果是文字样式的功能按钮,可以设定此文字的字形。它的语法格式如下:

Button(父对象, options, ……)

Button()方法的第一个参数是父对象,表示这个功能按钮将建立在哪一个窗口内。下列是Button()方法内其他常用的options参数。

borderwidth或bd 边界宽度默认是两个像素
bg或background 背景颜色
command 单机功能按钮时,执行此方法

cursor

当鼠标光标移至按钮上时的形状

fg或foreground

前景颜色

font

字形

height

高,单位是字符

highlightbackground

当前功能按钮取得焦点时的背景颜色

highlightcolor

当功能按钮取得焦点时的颜色

image

功能钮上的图像

justify

当有多行文字时,最后一行文字的对齐方式

padx

默认是1,可设置功能按钮与文字的间隔

pady

默认是1,可设置功能按钮的上下的间距

relief

默认是relief=FLAT,可由此控制文字外框

state

默认是state=NORMAL,若设置为DISABLED则以灰阶显示功能按钮,表示暂时无法使用

text

功能按钮名称

underline

可以设置第几个文字有下划线,从0开始算起,默认是-1表示无下划线

width

宽,单位是字符

wraplength

限制每行的文字数,默认是0,表示只有”\n”才会换行

当单机功能按钮时可以显示字符串”Hello world”,底色是浅黄色,字符串颜色是黑色

from tkinter import *

def msgShow():
	label["text"] = "Hello world"
	label["bg"] = "lightyellow"
	label["fg"] = "black"

root = Tk()
label = Label(root)     # 创建label标签
btn = Button(root, text = "打印消息", command = msgShow)

label.pack()
btn.pack()
root.mainloop()

Python GUI设计——Button功能按钮

上述程序是先建立一个不含属性的标签对象label,然后建立一个功能按钮。单机按钮时,会启动msgShow函数,然后此函数会执行标签label的内容。也可以用config()方法一次性设置所有的label属性:

label.config(text = "Hello world", bg = "lightyellow", fg = "black")

 下面新增按钮功能

btn1 = Button(root, text = "结束", width = 20, command = root.destroy)

root.destroy可以关闭root窗口对象,同时结束程序。另一个常用方法是quit,可以让Python Shell内执行的程序结束,但是root窗口则继续执行。

Python GUI设计——Button功能按钮

1.1定时程序设计

from tkinter import *

counter = 0                                  # 计数的初始值
def run_counter(digit):                      # 数字变量内容的变动
	def counting():                          # 变动数字方法
		global counter                       # 定义这是全局变量
		counter += 1
		digit.config(text = str(counter))    # 显示数字内容
		digit.after(1000, counting)          # 隔一次后调用counting
	counting()                                 # 持续调用 

root = Tk()
digit = Label(root, bg = "lightyellow", fg = "black",
	height = 3, width = 10,
	font = "黑体 20 bold")

digit.pack()
run_counter(digit)
btn = Button(root, text ="结束", width = 15, command = root.destroy)

btn.pack()
root.mainloop()

Python GUI设计——Button功能按钮 Python GUI设计——Button功能按钮

1.2颜色选择程序设计

from tkinter import *

def yellow():                                  # 自定义颜色背景
	root.config(bg = "yellow")
def blue():
	root.config(bg = "blue")
def red():
	root.config(bg = "red")

root = Tk()
root.geometry("500x500")
yellowbtn = Button(root, text = "yellow", command = yellow)
bluebtn = Button(root, text = "blue", command = blue)
redbtn = Button(root, text = "red", command = red)
exitbtn = Button(root, text = "Exit", command = root.destroy)

yellowbtn.pack(anchor = S, side = RIGHT, padx = 10, pady = 10)
bluebtn.pack(anchor = S, side = RIGHT, padx = 10, pady = 10)
redbtn.pack(anchor = S, side = RIGHT, padx = 10, pady = 10)
exitbtn.pack(anchor = S, side = RIGHT, padx = 10, pady = 10)
root.mainloop()

Python GUI设计——Button功能按钮Python GUI设计——Button功能按钮Python GUI设计——Button功能按钮

2.使用Lambda表达式

在前文程序中,Yellow按钮和Blue按钮执行相同的工作,但是传递的颜色参数不同,其实这是使用Lambda表达式的好时机。我们可以通过Lambda表达式调用相同的方法,但是传递不同参数的方式简化设计

def bColor(bgColor):
	root.config(bg = bgColor)

exitbtn = Button(root, text = "Exit", command = root.destroy)
bluebtn = Button(root, text = "blue", command = lambda:bColor("blue"))
yellowbtn = Button(root, text = "yellow", command = lambda:bColor("yellow"))
redbtn = Button(root, text = "red", command = lambda:bColor("red"))

(效果和之前是一样的)

3.建立含图像的功能按钮

一般功能按钮是用文字当作按钮名称,也可以用图像当作按钮名称。若是使用图像当作按钮,在Button()内可以省略text参数设置按钮名称,但在Button()内要增加images参数设置图像对象。

from tkinter import *

def msgShow():
	label.config(text = "Hello world", bg = "lightyellow", fg = "blue")

root = Tk()
label = Label(root)
image = PhotoImage(file = "2.png")
btn = Button(root, image = image, command = msgShow)
label.pack()
btn.pack()
root.mainloop()

Python GUI设计——Button功能按钮Python GUI设计——Button功能按钮

4.简易计算器按钮设计

from tkinter import *

root = Tk()

lab = Label(root, text ="", bg = "yellow", width = 20)
btn7 = Button(root, text = "7", width = 3)
btn8 = Button(root, text = "8", width = 3)
btn9 = Button(root, text = "9", width = 3)
btnc = Button(root, text = "*", width = 3)
btn4 = Button(root, text = "4", width = 3)
btn5 = Button(root, text = "5", width = 3)
btn6 = Button(root, text = "6", width = 3)
btnj = Button(root, text = "-", width = 3)
btn1 = Button(root, text = "1", width = 3)
btn2 = Button(root, text = "2", width = 3)
btn3 = Button(root, text = "3", width = 3)
btna = Button(root, text = "+", width = 3)
btn0 = Button(root, text = "0", width = 8)
btnd = Button(root, text = ".", width = 3)
btne = Button(root, text = "=", width = 3)

lab.grid(row = 0, column = 0, columnspan = 4)
btn7.grid(row =1, column = 0, padx = 5)
btn8.grid(row =1, column = 1, padx = 5)
btn9.grid(row =1, column = 2, padx = 5)
btnc.grid(row =1, column = 3, padx = 5)
btn4.grid(row =2, column = 0, padx = 5)
btn5.grid(row =2, column = 1, padx = 5)
btn6.grid(row =2, column = 2, padx = 5)
btnj.grid(row =2, column = 3, padx = 5)
btn1.grid(row =3, column = 0, padx = 5)
btn2.grid(row =3, column = 1, padx = 5)
btn3.grid(row =3, column = 2, padx = 5)
btna.grid(row =3, column = 3, padx = 5)
btn0.grid(row =4, column = 0, padx = 5, columnspan = 2)
btnd.grid(row =4, column = 2, padx = 5)
btne.grid(row =4, column = 3, padx = 5)

root.mainloop()

Python GUI设计——Button功能按钮

5.设计鼠标光标在功能按钮上的的形状

from tkinter import *

def msgShow():
	label.config(text = "Hello world", bg = "lightyellow", fg = "blue")

root = Tk()
label = Label(root)

image = PhotoImage(file = "2.png")
btn = Button(root, image = image, command = msgShow,
	cursor = "plus")

label.pack()
btn.pack()
root.mainloop()

Python GUI设计——Button功能按钮

 参考文献:《Python GUI设计tkinter菜鸟编程》洪锦魁著文章来源地址https://www.toymoban.com/news/detail-484158.html

到了这里,关于Python GUI设计——Button功能按钮的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【PCL自学:目录】PCL简介及主要功能模块介绍 (持续更新)

    当你知道一切都不重要时,世界就是你的了。 ——《瑞克和莫蒂》S3E8   对于从事计算机视觉、机器视觉领域的从业者来说,OpenCV库并不陌生,甚至是我们入门这个领域时的学习的第一个开源库,如果说OpenCV是二维信息处理方面的工兵铲,那PCL(Point Cloud Library)就是在三维

    2024年02月06日
    浏览(47)
  • Android 之 Button (按钮)与 ImageButton (图像按钮)

    今天给大家介绍的Android基本控件中的两个按钮控件,Button普通按钮和ImageButton图像按钮; 其实ImageButton和Button的用法基本类似,至于与图片相关的则和后面ImageView相同,所以本节 只对Button进行讲解,另外Button是TextView的子类,所以TextView上很多属性也可以应用到Button 上!我们

    2024年02月07日
    浏览(48)
  • android去除按钮(Button)背景、边框,使按钮背景透明【创建无边框按钮】

    android 中的按钮是最常用到的一种控件,因此网上对于修改按钮样式的问题也非常多。在自定义样式中,有一个常见的需求就是去除按钮背景。比如下图的情况: 左边的按钮图标可以使用 ImageButton 或 ImageView 来加载一个透明背景的icon。而右边只显示文字的按钮则只能使用普通

    2024年02月02日
    浏览(61)
  • python pyqt5 如何点击按钮,打开文件夹选择目录

    您可以使用PyQt5的QFileDialog类来实现打开文件夹选择目录的功能。下面是一个示例代码,演示了如何创建一个窗口,包含一个按钮,点击按钮后弹出文件夹选择对话框并返回所选目录的路径: import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QFileDialog class MainWindow(Q

    2024年02月10日
    浏览(61)
  • Flutter组件--按钮(Button)组件

      属性  说明 onPressed 必填参数,按下按钮时触发的回调,接收一个方法,传null表示按钮禁用,会显示禁用相关样式 child 子组件 style 通过ButtonStyle装饰 ButtonStylee里面的常用的参数 属性名称 值类型  属性值 foregroundColor Color 文本颜色 backgroundColor Color 按钮的颜色 shadowColor Col

    2024年02月14日
    浏览(37)
  • MFC第十四天 BS_按钮属性与CButton类功能简介 、静态文本的穿透属性与显示密码开发、CS架构客户端的账号管理功能添加功能开发

    CButton类简介: a)CButton在VC6.0等早期版本,必须设置BS_BITMAP或BS_ICON才能设置图标(文字加图)。 b)近期VS版本即使不设置这两种属性,也直接可以设置文字加图的模式; c)近期VS版本如果设置以上两种属性,则不显示文字只显示图; 但凡你想接收全面的基础消息(控件内的基础

    2024年02月16日
    浏览(43)
  • 15. 【Android教程】按钮 Button/ImageButton

    在前面两章我们讲了 TextView,它是一个纯输出的控件;而 EditText 在 TextView 基础之上加入了简单的输入功能;今天要讲的 Button 是一个和用户互动感很强的控件,从今往后不再是单纯的文本展示,我们可以通过 TextView、EditText 再加上 Button 做出非常多有很意思的功能。ImageButt

    2024年04月14日
    浏览(33)
  • 微信小程序button按钮去除边框

    今天在小程序开发中想要去除按钮的边框,直接使用 border: none 不起作用,选择器后加一个::after伪元素才行。 例: button:: after{ border: none }

    2024年02月06日
    浏览(59)
  • 【Unity】Button基础-按钮更换图片样式

    话说,今天修改了一下项目中的内容,发现按钮不怎么好看,想用图片的方式改一改,然后点开Button,忽然发现好多内容都忘记了。。。 Transition(过渡方式):按钮在状态改变时自身的过渡方式: Color Tint(颜色改变)  Sprite Swap(图片切换)  Animation(执行动画)(后面有

    2023年04月14日
    浏览(44)
  • Android里面,button按钮怎么设置圆角?

    在Android中,可以通过创建一个自定义的Drawable XML文件来实现给Button设置圆角的效果。以下是创建圆角按钮的步骤: 在 res/drawable 文件夹下,创建一个新的XML文件,例如 rounded_button.xml 。 在 rounded_button.xml 文件中,添加以下代码: 在这里,你可以自定义圆角的半径、按钮的颜色

    2024年02月08日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包