过分了,别人用来做桌面应用开发,这家伙却用来撩妹(1)–上帝给你开一个窗口(Tkinter)

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(1)–上帝给你开一个窗口(Tkinter)

大家好,又见面了,我是全栈君。

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(1)–上帝给你开一个窗口(Tkinter)—tkinter常用函数解析

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(1)--上帝给你开一个窗口(Tkinter)

前言

 

构思了很长一段时间,迟迟没有动手编写,因为总感觉不够有趣,斟酌了许久,找到了一个比较有趣的。于是打算出一个完整的系列,让大家一起感受python的乐趣。

为了让初学者也非常清楚的知道我的构思,我都会以一种通俗易懂的方式来为大家呈现出来。在此,感谢的大家的阅读。

我们这个系列,着重以系统库中的tkinter为中心来围绕进行编写。因此我们的第一步是导入模块。

我们的第一节就来为大家建立一个窗口。

 

正文步骤实现

上帝给你开一个窗口(Tkinter)

 

第一步:导入模块,无需安装

 

import tkinter

 

第二步:实现一个窗口

 

import tkinter
tk=tkinter.Tk()
tk.mainloop()

 

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(1)--上帝给你开一个窗口(Tkinter)

这样,我们应该基本的gui窗口就搞定了。接下来,我们给它加点东西,让它看起来更加独特。

第三步:修改窗口名称

tk.title("窗口")

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(1)--上帝给你开一个窗口(Tkinter)

第四步:设置窗口大小

tk.geometry("300x150+700+300")

参数:width x height+x+y,

分别对应,窗口 宽,高,以及窗口出现的坐标,

桌面的坐标系:以桌面左上角为(0,0)向右为x轴正半轴,向下为y轴正半轴

设置固定大小:

tk.minsize(560, 545) # 最小尺寸

tk.maxsize(560, 545) # 最大尺寸

设置全屏模式:

tk.attributes("-fullscreen", True)#全屏模式:True 全屏;False 正常显示
注:全屏模式没有退出按钮,关闭可使用win+D最小化才能关闭

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(1)--上帝给你开一个窗口(Tkinter)

 

第五步:获取当前桌面的尺寸

有时候我们需要获取到当前屏幕的大小,来决定我们窗口的大小,那就需要获取当前屏幕的宽高,如何获取呢?

w = tk.winfo_screenwidth()#获取屏幕宽
h = tk.winfo_screenheight()#获取屏幕高

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(1)--上帝给你开一个窗口(Tkinter)

第六步:设置窗口图标

tk.iconbitmap('favicon.ico')#设置窗口图标,将ico放在同级目录下。

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(1)--上帝给你开一个窗口(Tkinter)

第七步:设置窗口背景颜色

tk["background"] ="#7AC5CD"# 采用16色,或者"blue",颜色名称

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(1)--上帝给你开一个窗口(Tkinter)

这里,我为大家准备一个网站,供大家选择颜色。

https://tool.oschina.net/commons?type=3

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(1)--上帝给你开一个窗口(Tkinter)

 

第八步:设置窗口透明度

tk.attributes("-alpha", 0.6)#设置窗口透明度,透明度的值是:0~1 可以是小数点,0:全透明;1:全不透明

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(1)--上帝给你开一个窗口(Tkinter)

第九步:设置顶部工具栏样式

tk.attributes("-toolwindow", True)#有退出,可以移动

工具样式:True 只有退出按钮,也没有图标; False 正常的窗体样式

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(1)--上帝给你开一个窗口(Tkinter)

如果要将退出按钮都隐藏呢?

tk.overrideredirect(True)#无退出,不能移动,无工具栏

第十步:设置窗口置顶

tk.attributes("-topmost", True)
窗体置顶:True 所有窗口中处于最顶层;False 正常显示

使用场景,比如:桌面便签,需要显示在最顶层,又不妨碍其他软件使用。

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(1)--上帝给你开一个窗口(Tkinter)

第十一步:获取tk窗体信息

# 获取屏幕的大小;
height = tk.winfo_height()
width = tk.winfo_width()
# 获取窗体的位置
x = tk.winfo_x()
y = tk.winfo_y()
通常结合.update()使用,获取窗口改变之后的数据。
我们可以用bind来记录。
tk.bind("", update_test)#绑定事件 
def update_test(e):
    tk.update()
    # 获取屏幕的大小;
    height = tk.winfo_height()
    width = tk.winfo_width()
    # 获取窗体的位置
    x = tk.winfo_x()
    y = tk.winfo_y()
    print(width, height, x, y)
tk.bind("", update_test)

第十二步:添加标签

tkinter.Label(tk,text='标签1(0,0)').grid(column=0,row=0)#column表示x,row表示y
那如何来理解这个参数呢?grid中参数,依然可以把他看做是x,y,当两个标签中间没有数据时,就会自然缩进。
如图2,其中没有2,所以就会自动将2省去。
如图三中,坐标就是确定这些小方格。设置标签样式:
tkinter.Label(tk,text='标签1(0,0)',background='red',font=30,).grid(column=0,row=0)#x,y
tkinter.Label(tk,text='标签1(1,1)',foreground='red').grid(column=1,row=1)#x,y
background='red'#标签背景颜色
font=30#字体大小
foreground='red'#字体颜色

第十三步:调用事件

button=Button(tk, text="事件调用", fg="blue",bd=2,width=8,command=update_test).grid(column=1,row=5)

每点击一次,就调用对应的函数。

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(1)--上帝给你开一个窗口(Tkinter)

第十四步:插入图片

photo = tkinter.PhotoImage(file="图片.png")#file:t图片路径
imgLabel = tkinter.Label(tk,image=photo).grid(column=1,row=6)#把图片整合到标签类中

 

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(1)--上帝给你开一个窗口(Tkinter)

完整代码

import tkinter
from tkinter import *
tk=tkinter.Tk()
tk.title("窗口")#设置窗口名称
tk.geometry("300x150+700+300")
"""width x height+x+y,分别对应,窗口 宽,高,以及窗口出现的坐标
    桌面的坐标系:以桌面左上角为(0,0)向右为x轴正半轴,向下为y轴正半轴"""
w = tk.winfo_screenwidth()#获取屏幕宽
h = tk.winfo_screenheight()#获取屏幕高
print(w,h)
tk.iconbitmap('favicon.ico')#设置窗口图标,将ico放在同级目录下。
# 设置背景色,以“蓝色”为例
tk["background"] ="#7AC5CD"# "blue"
tk.attributes("-alpha",1)#设置窗口透明度,透明度的值是:0~1 可以是小数点,0:全透明;1:全不透明
tk.attributes("-toolwindow", True)#有退出,可以移动,工具样式:True 只有退出按钮,也没有图标; False 正常的窗体样式
#tk.overrideredirect(True)#无退出,不能移动,无工具栏
#tk.attributes("-fullscreen", True)#全屏模式:True 全屏;False 正常显示
tk.attributes("-topmost", True)#窗体置顶:True 所有窗口中处于最顶层;False 正常显示
# 获取屏幕的大小;
height = tk.winfo_height()
width = tk.winfo_width()
# 获取窗体的位置
x = tk.winfo_x()
y = tk.winfo_y()
print(width,height,x,y)
def update_test():
    tk.update()
    # 获取屏幕的大小;
    height = tk.winfo_height()
    width = tk.winfo_width()
    # 获取窗体的位置
    x = tk.winfo_x()
    y = tk.winfo_y()
    print(width, height, x, y)
# tk.bind("<Configure>", update_test)#绑定事件,窗体的改变事件
tkinter.Label(tk,text='标签1(0,0)',background='red',font=30,).grid(column=0,row=0)#x,y,设置标签,grid设置位置
tkinter.Label(tk,text='标签1(1,1)',foreground='red').grid(column=1,row=1)#x,y
tkinter.Label(tk,text='标签2').grid(column=4,row=3)
tkinter.Label(tk,text='标签3').grid(column=3,row=4)

button=Button(tk, text="事件调用", fg="blue",bd=2,width=8,command=update_test).grid(column=1,row=5)#按钮,添加按钮事件

photo = tkinter.PhotoImage(file="Figure_1.png")#file:t图片路径
imgLabel = tkinter.Label(tk,image=photo).grid(column=1,row=6)#把图片整合到标签类中
tk.mainloop()

关注我,了解更多好玩有趣的编程。

matplotlib-bilibili,抖音很火的动态数据视频自动生成(第四节)-视频,语音合成

动态数据视频(第一节)

bilibili,抖音很火的动态数据视频自动生成(第二节)

matplotlib-bilibili,抖音很火的动态数据视频自动生成(第三节)

matplotlib给女朋友画一个爱心吧,这份满满的爱意,一定要记得收下

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(1)--上帝给你开一个窗口(Tkinter)

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111360.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • exe4j的使用_使用方法

    exe4j的使用_使用方法exe4j的使用在这里选择exe填写你的exe名字和存放路径对软件的设置如果电脑是64位需要勾上防止软件乱码-Dfile.encoding=UTF-8导入jar包jdk版本允许最小和

    2022年8月5日
    9
  • 训练集准确率很高,验证集准确率低问题

    训练集准确率很高,验证集准确率低问题训练集在训练过程中,loss稳步下降,准确率上升,最后能达到97%验证集准确率没有升高,一直维持在50%左右(二分类问题,随机概率)测试集准确率57%在网上搜索可能打的原因:1.learningrate太小,陷入局部最优2.训练集和测试集数据没有规律3.数据噪声太大4.数据量太小(总共1440个样本,80%为训练集)5.训练集和测试集数据分布不同:如训练集正样本太少(训练集和测试集每次运行随机选择,故排除)6.数据集存在问题,如标注有问题(采用公开数据集,排除)7.学习率过大8.模型

    2025年11月4日
    4
  • AWG线径对照表_直流电流线径对照表

    AWG线径对照表_直流电流线径对照表铜线直径通常以awg(美国导线规格)作为单位进行测量,24awg的意思是导线形成最后直径前所要经过的孔的数量为24,awg前的数值越大,导线经过的孔就越多,导线的.1、25AWG=0.455mm。2、详细看AWG线径对照表就行,AWG是美国线规的标准。3、AWG(Americanwiregauge)美国线规,是一种区分导线直径的标准,又被称为.不同线径(1毫米以下的)铜线载流量表s=i/j…

    2025年8月24日
    3
  • 贴片机保养步骤 保养项目 保养的目的与作用

    贴片机是一种高强度、长时间、超负荷的运转设备,需要定期进行细心的呵护保养,贴片机保养的好,运转稳定,保证日常生产产能,贴片机如衣食父母;贴片机保养不到位或经常不保养,性能再好的机子也会不堪重负出现各类毛病,影响生产产能和产品质量,因此贴片机保养是贴片厂非常重要的一环工作内容事项。(延伸阅读:何为SMT?smt是做什么的,smt贴片是什么意思?)贴片机日保用干净白布清洁机器表面灰尘,包含机身、显示器、键盘、鼠标、开关等;检测气压正常值;检查机器内部各装置是否正常;用吸尘器清洁机器里

    2022年4月7日
    38
  • VC++界面库[通俗易懂]

    VC++界面库[通俗易懂]好东西,果断收藏  刚开始用C++做界面的时候,根本不知道怎么用简陋的MFC控件做出比较美观的界面,后来就开始逐渐接触到BCG XtremeToolkitProv15.0.1,Skin++,等界面库,以及一些网友自己写的界面库,开始对于C++软件界面美化有了一点点的心得。不敢藏私,希望和一些新手朋友们分享交流。  一. 开源C++界面库

    2022年10月8日
    2
  • 定积分的应用之 柱壳法求旋转体体积

    定积分的应用之 柱壳法求旋转体体积

    2022年6月8日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号