tkinter美化滚动条

tk美化滚动条

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import tkinter as tk
from tkinter import ttk
def main():
root = tk.Tk()
style = ttk.Style()
style.theme_use('clam')
style.configure("Vertical.TScrollbar", gripcount=0,
background="#3D3F44", darkcolor="#3D3F44", lightcolor="#3D3F44",
troughcolor="#26262B", arrowcolor="#26262B",bordercolor="#26262B")
style.configure("Horizontal.TScrollbar", gripcount=0,
background="#3D3F44", darkcolor="#3D3F44", lightcolor="#3D3F44",
troughcolor="#26262B", arrowcolor="#26262B",bordercolor="#26262B")
x=tk.Frame(root,height=200)
x.pack(fill=tk.BOTH, expand=tk.YES)
hs = ttk.Scrollbar(x, orient="vertical")
hs.place(x=0, y=-13, relheight=1,height=26,width=10)
hs.set(0.2,0.3)
root.mainloop()
main()

不多介绍了懒
大家可以自己试试,使用了ttk的clam样式

阅读更多

用Python查询肺炎疫情

懒癌发作了,不写教程了,略略略 ~ ~ ~ 注释自己看吧

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
import requests,json
from tkinter import *
import base64,os

#获取全球数据
def get_data():
#这里使用腾讯api
api = 'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5'
data = requests.get(api)
#要使用utf8不然会中文乱码
data.encoding = 'utf-8'
#需loads两次不知道为什么
data = json.loads(data.text)
data = json.loads(data['data'])["areaTree"]
#print(data)
return data

#通用查询
def analytical_data(地区,data=get_data()):
data2 = 0
#设置temp变量用来省略不需要的循环,提高速度
temp = 0
#先查询国家
#遍历所有国家
for i in data:
if i['name'] == 地区:
#先检测如果temp为"1"直接退出(由于是第一个其实可以去掉)
if temp == 1:
break
#记录为data2
data2 = i
#打印确诊人数
#print('确诊人数:'+str(i["total"]["confirm"])+'人')
#若查询成功将temp标记为"1"
temp = 1
break
#如果查询国家失败查询省份
if temp==0:
#遍历所有省份
for i in data[0]["children"]:
if i['name'] == 地区:
#记录为data2
data2 = i
#打印确诊人数
#print('确诊人数:'+str(i["total"]["confirm"])+'人')
#若查询成功将temp标记为"1"
temp = 1
break
#如果查询国家失败查询城市
if temp==0:
for i in data[0]["children"]:
#遍历所有省份
for j in i["children"]:
#遍历每个省份的全部城市
if j['name'] == 地区:
#若查询成功将temp标记为"1"
temp = 1
#记录为data2
data2 = j
#打印确诊人数
#print('确诊人数:'+ str(j["total"]["confirm"])+'人')
break
#由于双重循环需要退出两次
if temp == 1:
break
#返回data2
return data2

def main():
data = analytical_data(inputbox.get())
t.delete('1.0', 'end')
try:
var = '关于{}的最新疫情信息如下:\n确诊人数:{}\n疑似人数:{}\n治愈人数:{}\n死亡人数:{}\n新增确诊:{}\n由于API问题疑似可能不准\n武汉加油!中国加油!'
var = var.format(inputbox.get(),str(data["total"]["confirm"])+'人',str(data["total"]["suspect"]) + '人',str(data["total"]["heal"])+'人',str(data["total"]["dead"])+'人',str(data["today"]["confirm"])+'人')
except:
var = '未找到地区:'+inputbox.get()
t.insert('end',var)
window = Tk()
window.title('新冠肺炎疫情查询')
window.geometry('375x330')
window.resizable(0,0)
diqu_text = Label(window,text='地区',width=3,height=1,font=('微软雅黑',12))
diqu_text.place(x=50,y=30, anchor='nw')
inputbox = Entry(window,width=10,font=('微软雅黑',16))
inputbox.place(x=110,y=30, anchor='nw')
t = Text(window,height=11,width=35,font=('微软雅黑',10))
t.place(x=40,y=80)
b = Button(window,text='查询',width=6,height=1,font=('微软雅黑',10),command=main)
b.place(x=250,y=29, anchor='nw')

window.mainloop()

终于迁移完了累skr人

阅读更多

用Tkinter写一个拥有GUI的计算器

Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里。Tk8.0 的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。我们可以使用它写出很多漂亮的GUI,这次,我写了一个计算器。

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#tkinter用于写界面
import tkinter as tk

#创建窗口
window=tk.Tk()
window.title('计算器 by啊不嘟')

#窗口居中
sw = window.winfo_screenwidth()
sh = window.winfo_screenheight()
ww = 300
wh = 355
x = (sw-ww) / 2
y = (sh-wh) / 2
window.geometry("%dx%d+%d+%d" %(ww,wh,x,y))

#禁止拉伸
window.resizable(width=False, height=False)

#定义按键作用
def hit_equal():
try:
answer=eval(text.get().replace('×','*').replace('÷','/').replace('^','**'))
if answer%1==0:
answer=int(answer)
text.delete(0,'end')
text.insert('end',answer)
except:
text.delete(0,'end')
text.insert('end','错误')
def hit(x):
text.insert('end',x)
def hit_C():
text.delete(0,'end')
def backspace():
text.delete(len(text.get())-1,'end')

#定义并放置大框框
text = tk.Entry(window, bg='white', width=17, font=('微软雅黑', 19))
text.place(x=20, y=10)
text.insert('end', '')

#创建按键并放置在窗口
b7=tk.Button(window,text='7',width=6,height=2,command=lambda: hit('7')).place(x=20,y=113)
b8=tk.Button(window,text='8',width=6,height=2,command=lambda: hit('8')).place(x=87,y=113)
b9=tk.Button(window,text='9',width=6,height=2,command=lambda: hit('9')).place(x=157,y=113)
b4=tk.Button(window,text='4',width=6,height=2,command=lambda: hit('4')).place(x=20,y=173)
b1=tk.Button(window,text='1',width=6,height=2,command=lambda: hit('1')).place(x=20,y=233)
b5=tk.Button(window,text='5',width=6,height=2,command=lambda: hit('5')).place(x=87,y=173)
b6=tk.Button(window,text='6',width=6,height=2,command=lambda: hit('6')).place(x=157,y=173)
b2=tk.Button(window,text='2',width=6,height=2,command=lambda: hit('2')).place(x=87,y=233)
b3=tk.Button(window,text='3',width=6,height=2,command=lambda: hit('3')).place(x=157,y=233)
b_decimal_point=tk.Button(window,text='.',width=6,height=2,command=lambda: hit('.')).place(x=157,y=293)
b0=tk.Button(window,text='0',width=6,height=2,command=lambda: hit('0')).place(x=87,y=293)
b00=tk.Button(window,text='00',width=6,height=2,command=lambda: hit('00')).place(x=20,y=293)
bbackspace=tk.Button(window,text='←',width=6,height=2,command=backspace).place(x=87,y=53)
bC=tk.Button(window,text='C',width=6,height=2,command=hit_C).place(x=20,y=53)
b_cube_root=tk.Button(window,text='xⁿ',width=6,height=2,command=lambda: hit('^')).place(x=157,y=53)
b_plus=tk.Button(window,text='+',width=6,height=2,command=lambda: hit('+')).place(x=227,y=53)
b_minus=tk.Button(window,text='-',width=6,height=2,command=lambda: hit('7')).place(x=227,y=113)
b_multiplication=tk.Button(window,text='×',width=6,height=2,command=lambda: hit('×')).place(x=227,y=173)
b_division=tk.Button(window,text='÷',width=6,height=2,command=lambda: hit('÷')).place(x=227,y=233)
b_equal=tk.Button(window,text='=',width=6,height=2,command=hit_equal).place(x=227,y=293)

#会话循环
window.mainloop()
阅读更多
查看更多