Day15 用python写UI-聊聊Spinbox

第15天~~~完成了一半的铁人赛,之後也要继续加油!
今天要讲的内容是Spinbox,後面有几个实例的练习,可以一起做做看喔!

♠♣今天的文章大纲♥♦

  • Spinbox常用参数
  • 数值资料实作
  • 非数值资料实作

Spinbox常用参数

Spinbox可以输入文字,可以说是Entry + Button =Spinbox,它的功用是可以用滑鼠点击调整数值。

语法:Spinbox( master, option, ... )

参数 说明
activebackground 滑鼠游标在数值卷轴时的背景颜色。
from底线 数值卷轴范围值得初值
bg 标签背景或 indicator 的背景颜色。
borderwidth或bd 3D边界宽度,预设是2px。
command 当使用者更改选项时,会自动执行此函数。
cursor 当滑鼠游标在选项纽时的外形。
fg 文字的颜色。
font 字型。
disabledbackground 在Disabled状态时的背景颜色。
disabledforeground 在Disabled状态时的前景颜色。
format 格式化的字串。
increment 每次按up/down钮增值或简减值的量。
textvariable 以变数方式显示选项钮文字。
relief 预设是FLAT,可由此更改边界外观。
justify 当文字多行时,最後一行的对齐方式。
repeatdelay 可设定时需要按着卷轴盒多久才可移动此卷轴盒,单位是毫秒 (milliseconds),预设是300。
xcrollcommand x轴使用卷轴
values 可以是原组或是其他值
state 如果设为 DISABLE 则暂时无法使用此 Scale。
wrap up/down让数值重新开始
to 数值卷轴范圈值的末端值。
width 选项纽的文字区间有几个字元寛,省略时会自行调整为实际宽度。

做一个小实例,可以设计一个区间,按up/down就可以调整。

import tkinter as tk

root = tk.Tk()

root.title('cuteluluWindow')
root.configure(bg="#7AFEC6")
root.iconbitmap('heart_green.ico')
root.geometry('300x100')

def Print():
    print(sp.get())

sp = tk.Spinbox(root, from_ = 90,to = 100, command= Print)
sp.pack(pady=10, padx=10)

root.mainloop()

执行结果⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20210929/20140047p2ZehKePLl.png
python shell结果⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20210929/20140047gx9N9ccIPd.png


数值资料实作

可以将数值存在序列资料里,按up/down就可以显示。

import tkinter as tk

root = tk.Tk()

root.title('cuteluluWindow')
root.configure(bg="#7AFEC6")
root.iconbitmap('heart_green.ico')
root.geometry('300x100')

def Value():
    print(sb.get())

sb = tk.Spinbox (root,values = (3, 29, 156, 520) , command=Value)
sb.pack(pady=10, padx=10)

root.mainloop()

执行结果⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20210929/20140047Ixdmm0o0Aq.png
python shell结果⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20210929/20140047HxZjAOSb3M.png


非数值资料实作

Spinbox也可以将非数值存在序列资料里,按up/down就可以显示。

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('300x100')

def Mood():
    print (sp.get())

moods = ("开心","温暖","可爱")

sp = tk.Spinbox (root,values=moods,command=Mood)
sp.pack(pady = 10, padx = 10)

root.mainloop()

执行结果⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20210929/20140047o2L3xFbJx6.png
python shell结果⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20210929/20140047JFwfPHwNjn.png


今天的内容就到这边,感觉没有很难,只要把资料放进设好的序列里,就可以用了!


<<:  slots

>>:  Day16 CSS排版之神flex

[ JS个人笔记 ] 立即函式(IIFE) & 回呼函式 (Callback Function) —DAY7

立即函式(IIFE) 立即执行的函式 限制变数作用域 无法在函式外被再次执行!! //立即函式,函式...

开发环境

基本的开发环境要求为一台效能足够的电脑,可以是PC也可以是笔电,但依目前Google 的要求,至少要...

Day 8 - Fun with HTML5 Canvas

前言 JS 30 是由加拿大的全端工程师 Wes Bos 免费提供的 JavaScript 简单应用...

30天打造品牌特色电商网站 Day.7 HTML基础

HTML 是一份可以给浏览器读取的文件,副档名为.html,我们在网页上所看见的元件,基本上都是由 ...

Day 6 情报收集 - Information Gathering (Live Host Identification)

来到第六天Live host identificaction的环节,主轴在於活的主机,也就是在开机状...