《Python GUI设计 tkinter菜鸟编程》笔记

前言

我们是树、鲸、矿,现代人沦为被开采的资源,"死了的"现代人比活着的人,能带来更多的广告利润。

窗口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()
### 回答1: TkinterPython语言的一个标准GUI库,可以用来创建各种图形界面应用程序。它是Python内置的库,无需额外安装。Tkinter提供了一系列的组件,如按钮、标签、文本框等,以及各种布局管理器,如Grid布局和Pack布局等,供开发者使用。 对于初学者来说,菜鸟编程PDF对于学习Tkinter非常有帮助。它通过简单明了的语言和大量实例代码,帮助读者快速入门并掌握Tkinter的基础知识和常用功能。 首先,这本PDF会介绍Tkinter的基本概念和使用方法,并通过一些简单的示例代码展示Tkinter的基本功能,帮助读者了解如何创建窗口、添加组件、设置布局等。 其次,该PDF还会详细介绍Tkinter中常用的组件,如按钮、标签、文本框等,并通过示例代码展示了它们的基本用法和常见功能。 此外,菜鸟编程的这本PDF还会介绍Tkinter中的事件处理和布局管理器等高级内容。事件处理可以让用户与程序进行交互,响应用户的操作,而布局管理器可以帮助开发者更方便地设置和调整界面的布局。 总的来说,这本菜鸟编程Tkinter PDF提供了丰富的例子和简单易懂的教程,对于想学习Python GUI编程的初学者来说,是一本非常好的指南。读者可以通过这本PDF快速入门Tkinter,并掌握基本的GUI开发技巧,为以后的项目开发打下良好的基础。 ### 回答2: Python GUI设计是使用Python编程语言开发图形用户界面(GUI)的过程。其中,TkinterPython内置库之一,提供了快速和简单的方法来创建GUI应用程序。 Tkinter的优势之一是它易于学习和使用。大部分用户只需要一些基本的Python知识,就能够开始使用Tkinter创建GUI应用程序。此外,Tkinter提供了丰富的控件(如按钮、文本输入框、列表框等),可以轻松地实现各种功能。 对于初学者来说,使用Tkinter创建GUI应用程序具有很高的可扩展性和灵活性。我们可以通过自定义控件的外观和行为,使应用程序更符合我们的需求。此外,Tkinter提供了丰富的布局管理器,可以帮助我们轻松地调整和排列控件。 编写图形用户界面时,我们通常需要处理用户的输入和操作。Tkinter提供了丰富的事件处理机制,可以捕获和响应用户的各种操作。我们可以编写相应的事件处理函数,根据用户的操作来更新界面和执行相应的逻辑。 最后,Tkinter提供了对像素级别的控制,可以使用绑定到特定控件的回调函数来实现对控件进行自定义的操作。这使得我们能够更加深入地控制应用程序的外观和行为。 总的来说,Python GUI设计使用Tkinter可以帮助我们快速、简单地创建各种GUI应用程序。即使对于刚开始学习的菜鸟编程者来说,也可以通过掌握基本的Tkinter知识,轻松地创建自己想要的GUI应用程序。 ### 回答3: 《Python GUI设计 Tkinter菜鸟编程 PDF》是一本以Python编程语言为基础,教授如何使用Tkinter库进行图形用户界面(GUI)设计的电子书。TkinterPython中一个内建的GUI库,它提供了一系列的组件和工具,使开发者能够轻松创建交互式的桌面应用程序。 这本PDF适合初学者或者菜鸟级别的编程者,它详细介绍了Tkinter库的基础知识和使用方法。读者可以通过学习这本书,了解如何使用Tkinter创建窗口、标签、按钮、文本框等常见的GUI组件,并将它们进行布局和设计,从而构建一个完整的用户界面。 这本书还介绍了一些高级的Tkinter技巧和功能,如使用事件处理机制实现交互性、添加图像和多媒体文件、使用缩放和滚动条控制部件等。读者将学会如何将这些技巧应用于自己的项目中,以便创建出更具吸引力和实用性的应用程序。 总的来说,这本《Python GUI设计 Tkinter菜鸟编程 PDF》是一本适合初学者的指南,它帮助读者快速入门GUI设计,并教授如何使用Tkinter库创建各种交互性强、功能丰富的应用程序。无论是想要开发一个小型工具还是一个全功能的应用程序,都可以从这本书中获取到所需的知识和技能。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值