发布于2021-06-07 20:56 阅读(726) 评论(0) 点赞(5) 收藏(0)
构思了很长一段时间,迟迟没有动手编写,因为总感觉不够有趣,斟酌了许久,找到了一个比较有趣的。于是打算出一个完整的系列,让大家一起感受python的乐趣。
为了让初学者也非常清楚的知道我的构思,我都会以一种通俗易懂的方式来为大家呈现出来。在此,感谢的大家的阅读。
我们这个系列,着重以系统库中的tkinter为中心来围绕进行编写。因此我们的第一步是导入模块。
我们的第一节就来为大家建立一个窗口。
上帝给你开一个窗口(Tkinter)
import tkinter
- import tkinter
- tk=tkinter.Tk()
- tk.mainloop()
这样,我们应该基本的gui窗口就搞定了。接下来,我们给它加点东西,让它看起来更加独特。
tk.title("窗口")
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最小化才能关闭
有时候我们需要获取到当前屏幕的大小,来决定我们窗口的大小,那就需要获取当前屏幕的宽高,如何获取呢?
- w = tk.winfo_screenwidth()#获取屏幕宽
- h = tk.winfo_screenheight()#获取屏幕高
tk.iconbitmap('favicon.ico')#设置窗口图标,将ico放在同级目录下。
tk["background"] ="#7AC5CD"# 采用16色,或者"blue",颜色名称
这里,我为大家准备一个网站,供大家选择颜色。
https://tool.oschina.net/commons?type=3
tk.attributes("-alpha", 0.6)#设置窗口透明度,透明度的值是:0~1 可以是小数点,0:全透明;1:全不透明
tk.attributes("-toolwindow", True)#有退出,可以移动
工具样式:True 只有退出按钮,也没有图标; False 正常的窗体样式
如果要将退出按钮都隐藏呢?
tk.overrideredirect(True)#无退出,不能移动,无工具栏
- tk.attributes("-topmost", True)
- 窗体置顶:True 所有窗口中处于最顶层;False 正常显示
使用场景,比如:桌面便签,需要显示在最顶层,又不妨碍其他软件使用。
- # 获取屏幕的大小;
- 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)
每点击一次,就调用对应的函数。
- photo = tkinter.PhotoImage(file="图片.png")#file:t图片路径
- imgLabel = tkinter.Label(tk,image=photo).grid(column=1,row=6)#把图片整合到标签类中
完整代码
- 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,抖音很火的动态数据视频自动生成(第四节)-视频,语音合成
matplotlib-bilibili,抖音很火的动态数据视频自动生成(第三节)
matplotlib给女朋友画一个爱心吧,这份满满的爱意,一定要记得收下
原文链接:https://blog.csdn.net/qq_39046854/article/details/117428879
作者:我赌你没有子弹
链接:http://www.phpheidong.com/blog/article/89574/9f63090e79bfe28ab777/
来源:php黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 php黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-4
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!