前言
我们是树、鲸、矿,现代人沦为被开采的资源,"死了的"现代人比活着的人,能带来更多的广告利润。
窗口Tk
Tk方法
- geometry
- x:如果是正数,则表示window左边距离屏幕左边的距离;如果是负数…
- y:正-上;负-下…
- window.winfo_screen…
- width():获得屏幕的宽度
- height():获得屏幕的高度
Tk背景色彩表
标签Label
用于在窗口内建立文字\图像标签。
Label参数
-
fg:前景就是text
-
anchor
-
font
- family:字形(Helvetic Times…)
- size:字号
- weight:加粗否?(bold normal…)
- slant:倾斜(italic roman…)
- underline:下划线(True False)
- overstrike:(True False)
- 例子:
font = ("Helvectic",20,"bold","italic")
-
justify可以配合wraplength一起使用哦
-
bitmap有他就不会显示text了,除非使用compound参数
-
compound:让text和bitmap一起显示
- left:图像靠左
- right:图像靠右
- top:图像在上
- bottom:图像在下
- center:文字覆盖在图像上方
- 注意:下面会讲到image,compound也可以用来让text和image一起显示!
-
relief:边框
-
image:
- 第一步:img = PhotoImage(file=‘路径’)
- 第二步:label=Label(text=…, image=…, text=…, compound=…)
-
config
- 使用方法:label.config(text=…, …)
-
after
- 使用方法:label.after(1000,function)
- 例子(计时器):
👇
from tkinter import *
window = Tk()
window.title("Mywindow")
window.geometry("200x200")
window.configure(bg='yellow')
cot = 0
def run_counter(l):
def count_function():
global cot
cot += 1
l.config(text=cot)
l.after(1000, count_function)
count_function()
l = Label(master=window, text=1, fg='blue', font = ("Helvectic",20,"bold","italic"),bitmap='error', compound='left')
l.pack()
run_counter(l)
window.mainloop()
Label的精确放置
Label实战——闹钟(from 子轩。)
今天先到这里,明天先照着https://blog.csdn.net/qq_45907659/article/details/107160027做个闹钟玩玩。
import time
import os
import tkinter
import tkinter.messagebox
window=tkinter.Tk()
window.title('闹钟')
screen_width = window.winfo_screenwidth() # 1280 x 720
screen_height = window.winfo_screenheight()
w,h = 400,200
x,y = (screen_width - w)//2, (screen_height-h) //2
window.geometry('%dx%d+%d+%d' %(w,h,x,y))
have_timing = 0 # 0:尚未定时 1:已经定时,尚未处理 2:已经定时,正在等待
hour = ''
minute = ''
#提取当前的时间,每秒刷新两次
def renew_time():
global have_timing, hour, minute
var.set(time.strftime("%Y-%m-%d %H:%M:%S")) #对当前时间进行格式化
window.after(1000,renew_time) # 1 s
if have_timing == 1:
hour = hour_var.get()
minute = minute_var.get()
if hour == '':
have_timing = 0
tkinter.messagebox.showerror(title='闹钟', message='小时不允许为空') # 报错弹窗
elif not (1 <= int(hour) <= 24):
have_timing = 0
tkinter.messagebox.showerror(title='闹钟', message='小时必须在1-24之间')
elif minute == '':
have_timing = 0
tkinter.messagebox.showerror(title='闹钟', message='分钟数不允许为空')
elif not (0 <= int(minute) <= 59):
have_timing = 0
tkinter.messagebox.showerror(title='闹钟', message='分钟数必须在0-59之间')
else:
have_timing = 2
tkinter.messagebox.showinfo(title='闹钟', message='已为您成功定时') # 通知弹窗
if have_timing == 2 and ((hour) == (time.strftime('%H'))) and ((minute) == (time.strftime("%M"))):
have_timing = 0
os.system('intro.mp3')
#在主界面显示当前的时间
var=tkinter.StringVar()
lb=tkinter.Label(
master = window,
textvariable=var,
font=('Arial',20, 'bold','italic'),
bg = 'Cyan')
lb.pack()
renew_time()
#标签文档
window_text=tkinter.Label(window,text='请输入需要提醒的时间',font=('Arail',10))
window_text.place(x=130,y=60)
window_symbol=tkinter.Label(window,text=':',font=('Arail',15))
window_symbol.place(x=191, y=76)
#取出输入的小时数
hour_var=tkinter.StringVar()
window_hour=tkinter.Entry(window,textvariable=hour_var,width=5,show=None)
window_hour.place(x=150,y=82)
#取出输入的分钟数
minute_var=tkinter.StringVar()
window_minute=tkinter.Entry(window,textvariable=minute_var,width=5,show=None)
window_minute.place(x=210,y=82)
#主要判断函数,文首说的问题就在此函数中
def estimate():
global have_timing
have_timing = 1
#给个按钮
window_button=tkinter.Button(window,text='定时',width=9,command=estimate)
window_button.place(x=160,y=120)
#主界面循环
window.mainloop()