Day8 用python写UI-聊聊功能钮Button

Button()方法有在前两天的时候提了一些,今天会更详细的介绍Buton()的使用方法
(o゜▽゜)o☆

语法格式:Button ( master, options, ... )

Button可以显示传达按钮用途的文本或图像。将一个函数或一个方法附加到一个按钮上,点按钮时就会执行。

♠♣今天的文章大纲♥♦

  • 常用的参数
  • 把图放到Button里面

常用的参数

参数 说明
activebackground 滑鼠位於按钮时的背景颜色。
activeforeground 滑鼠位於按钮时的前景颜色。
bd 以像素为单位的边框宽度。 预设为 2
bg 背景颜色
command 按按钮时要用的函数或方法。
fg 字型颜色
font 字体
height 字元高
highlightcolor 当按钮具有焦点时显示的颜色。
image 要显示在按钮上的图。
justify 显示多个文本行时,LEFT 靠左对齐每一行; CENTER 使它们居中;或RIGHT 靠右对齐。
padx/pady 文字左右侧的距离/文字上下的距离
relief 按钮边框的类型。有 SUNKEN、RAISED、GROOVE 和 RIDGE
state 预设为 ACTIVE。若设为 DISABLED 可使按钮变灰表示暂时无法使用。
underline 预设值为 -1,代表按钮上的文字没有底线。如果非负,代表按钮上的文字有底线。
width 按钮宽度
wraplength 如果此值设置为正数,文字会换行。预设为0
import tkinter as tk

root = tk.Tk()

root.geometry("350x400+200+300")
root.title('cuteluluWindow')
root.configure(bg="#7AFEC6")
root.iconbitmap('heart_green.ico')
root.geometry('300x300')

B1=tk.Button(root,text='Normal Button',relief="ridge",
            activebackground='#BE77FF',#设定滑鼠位於按钮时的背景颜色
            activeforeground='#FFFFFF',#设定滑鼠位於按钮时的前景颜色
             state=tk.NORMAL,#设定按钮的状态
             cursor='heart')
B2=tk.Button(root,text='Disabled Button',relief="ridge",
            activebackground='#BE77FF',#设定滑鼠位於按钮时的背景颜色
            activeforeground='#FFFFFF',#设定滑鼠位於按钮时的前景颜色
             state=tk.DISABLED)#设定按钮的状态
B3=tk.Button(root,text='Active Button',relief="ridge",
            activebackground='#BE77FF',#设定滑鼠位於按钮时的背景颜色
            activeforeground='#FFFFFF',#设定滑鼠位於按钮时的前景颜色
             state=tk.ACTIVE)#设定按钮的状态

B1.pack()
B2.pack()
B3.pack()


root.mainloop()

下图可看出第二个按钮是无法按的,因为设定成disabled,还有当滑鼠移到第一个按钮会变成爱心形状
执行结果⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20210917/20140047hW9VgYNF1p.png
滑鼠移到第一个按钮会变成爱心形状
https://ithelp.ithome.com.tw/upload/images/20210917/20140047ViMp6OoHqx.png

把图放到Button里面

import tkinter as tk

root = tk.Tk()

root.geometry("350x400+200+300")
root.title('cuteluluWindow')
root.configure(bg="#7AFEC6")
root.iconbitmap('heart_green.ico')
root.geometry('300x70')

photo=tk.PhotoImage(file='button.gif')
B1=tk.Button(root,image=photo,text='Love',compound='top')#设定文字在图的top


B1.pack()

root.mainloop()

compound可以设定文字在图的哪边,有top、bottom、center、left跟right,可以依照想要的位置设定
执行结果⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20210917/20140047KqOjM2KWW0.png

将文字设在图左边

photo=tk.PhotoImage(file='button.gif')
B1=tk.Button(root,image=photo,text='Love',compound='left')

执行结果⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20210917/20140047cDniEyoeZa.png

将文字设在图上面

photo=tk.PhotoImage(file='button.gif')
B1=tk.Button(root,image=photo,text='Love',compound='top')

执行结果⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20210917/20140047d1ujt4AQrK.png


今天的介绍就到这边,有任何问题都欢迎留言讨论喔~
谢谢大家愿意来看我的文章,我会继续努力的(๑•̀ㅂ•́)و✧
/images/emoticon/emoticon18.gif


<<:  不只懂 Vue 语法:为什麽要用 Vuex? Vuex 基本架构是怎样?

>>:  IDE是魔法书,而Code则是魔法,咏唱出属於自己的AWS

建立第一笔NoSQL资料

登入AWS Portal之後可先选取实作地区 使用DynamoDB当作NoSQL实作平台, 从建立...

DAY5 速谈flex gride布局、定位、响应式

为了加快进度,我要快速带过flex、gride布局、定位和响应式,帮你系个安全戴,要飙车罗~~ fl...

尝试的结果

我在网路上查资料时,看到有人写了关於不覆盖有资料的方法,不过档案是txt档的写入,我不知道如果换成x...

[Day02] 第二章- 初探金流API文件-1

前言 今天会分享我的阅读api心得 并做简易的操作来使用今天研读後的成果 前几日会以阅读文件跟熟悉永...

Day 22:贪婪演算法(2)

上一回写到大部分贪婪演算法并非永远正确,那哪些问题适合用它来解呢? 最佳子结构 贪婪演算法既是在过程...