xia的小窩

一起來coding和碼字吧

0%

選像鈕-核取方塊

基本的選項鈕

點擊型式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from tkinter import *

def sel():
num = var.get()
if num == 1:
label.config(text = "你是男的")
else:
label.config(text = "你是女的")

root = Tk()
root.title("python-tkinter")
root.geometry("600x600")
root.config(bg = "lightgreen")

var = IntVar()
var.set(1)
# 預設男性

label = Label(root, text = "預設", bg = "lightblue", width = 30)
label.pack()

man = Radiobutton(root, text = "男的", variable = var, value = 1, command = sel)
man.pack()

girl = Radiobutton(root, text = "女的", variable = var, value = 2, command = sel)
girl.pack()

root.mainloop()

結果

也可以修改成

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from tkinter import *

def sel():
label.config(text = "你是 " + var.get())


var = StringVar()
var.set("男生")

label = Label(root, text = "預設", bg = "lightblue", width = 30)
label.pack()

man = Radiobutton(root, text = "男的", variable = var, value = "男生", command = sel)

girl = Radiobutton(root, text = "女的", variable = var, value = "女生", command = sel)

# 此為修改過的部分

應用在字典上

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from tkinter import *

def sel():
label.config(text = "你是 " + gems[var.get()])


gems = {0 : "男的", 1 : "女的" }

var = IntVar()
var.set("0")

label = Label(root, text = "預設", bg = "lightblue", width = 30)
label.pack()

for val, gem in gems.items():
Radiobutton(root, text = gem, variable = var, value = val, command = sel).pack()


root.mainloop()

結果應該都是一樣的

盒子選項鈕

1
2
3
for val, gem in gems.items():
Radiobutton(root, indicatoron = 0, width = 30, text = gem,
variable = var, value = val, command = sel).pack()

結果

加上圖片的按鈕

圖片


範例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from tkinter import *
from PIL import Image, ImageTk

def sel():
label.config(text = "你是 " + var.get())

root = Tk()
root.title("python-tkinter")
root.geometry("1000x1000")
root.config(bg = "lightgreen")


boy = Image.open("b.jpg")
boy = ImageTk.PhotoImage(boy)

girl = Image.open("g.jpg")
girl = ImageTk.PhotoImage(girl)


var = StringVar()
var.set("男的")

label = Label(root, text = "預設", bg = "lightblue", width = 100, height = 6)
label.pack()

rb = Radiobutton(root, image = boy, variable = var, value = "男的", command = sel)
rb.place(x = 310, y = 100, width = 400, height = 400)

rg = Radiobutton(root, image = girl, variable = var, value = "女的", command = sel)
rg.place(x = 310, y = 600, width = 400, height = 400)

root.mainloop()

結果

核取方塊

簡單的型式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from tkinter import *

root = Tk()
root.title("python-tkinter")
root.geometry("500x500")
root.config(bg = "lightgreen")

label = Label(root, text = "預設", bg = "lightblue", width = 30)
label.grid(row = 0)

var1 = IntVar()
boy_btn = Checkbutton(root, text = "男", variable = var1)
boy_btn.grid(row = 1, sticky = W)

var2 = IntVar()
girl_btn = Checkbutton(root, text = "女", variable = var2)
girl_btn.grid(row = 2, sticky = W)

root.mainloop()

結果