Day2 用python写UI-聊聊tkinter的基本操作~

今天要介绍视窗设定,会分成三个部份来讲,建立视窗、设定视窗大小跟视窗的其他基本设定,那我们不多说就直接开始吧~(@^0^@)/

♠♣今天的文章大纲♥♦

  • 建立视窗
  • 设定视窗大小
  • 视窗的其他基本设定

建立视窗

用Tk()方法建立一个根视窗(root window),之後会在这个视窗建立控件(widget)。

import tkinter as tk
root = tk.Tk()

root.mainloop()

mainloop()是让程序继续执行的指令,如果要结束程序就按右上的关闭按钮。
下面这张图就是刚刚程序的执行结果⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20210912/20140047S0ngmNDuyz.png

因为我们没有去设定视窗的大小,所以目前跑出来的视窗会是预设好的大小。


设定视窗大小

#root.geometry()方法一

import tkinter as tk
root = tk.Tk()

print(root.winfo_screenwidth()) #输出萤幕宽度
print(root.winfo_screenheight()) #输出萤幕高度
root.geometry("350x200+200+300")

root.mainloop()

#root.geometry()方法二

import tkinter as tk
root = tk.Tk()

print(root.winfo_screenwidth()) #输出萤幕宽度
print(root.winfo_screenheight()) #输出萤幕高度
w=350  #width
r=200  #height
x=200  #与视窗左上x的距离
y=300  #与视窗左上y的距离
root.geometry('%dx%d+%d+%d' % (w,r,x,y))

root.mainloop()

  • geometry(“widthxheight+x+y”)
    width是视窗的宽,height是视窗的高,中间用x做区隔,後面的+x+y是视窗距离萤幕的距离,若是+开头後面接x代表视窗左边的距离与萤幕左边的距离,若是-开头後面接x代表视窗右边的距离与萤幕右边的距离;那若是+开头後面接y代表视窗上边的距离与萤幕上边的距离,若是-开头後面接y代表视窗下边的距离与萤幕下边的距离。

下图为执行结果⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20210912/20140047qzuX2rvwr5.png

  • root.winfo_screenwidth()、root.winfo_screenheight()
    可以用这两行知道萤幕的宽度跟高度,结果会显示在 Pythone shell 上面。

下图为执行结果⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20210912/20140047GrTIj62o0A.png

以下是视窗大小的其他设定

  • maxsize(width,height)、minsize(width,height)
    设定在拖曳时最大视窗跟最小视窗的宽(width)与高(height)。

  • resizable(True,True)
    设定是否能更改视窗大小,前面的参数控制宽,後面的参数控制高。
    想让视窗固定宽高可使用resizable(0,0)。

  • iconify()、state(“zoomed”)
    最小化视窗、最大化视窗。


视窗的其他基本设定

import tkinter as tk
root = tk.Tk()

root.geometry("250x200+200+300")
root.title('cuteluluWindow')
root.configure(bg="#7AFEC6")    #可以直接打颜色名称或是找色码表的代号

root.iconbitmap('heart_green.ico')

root.mainloop()
  • title()
    设定视窗标题。

  • configure(bg=“color”)
    设定视窗背景颜色,可以直接打颜色名称,例如:green,或是像我这样去找色码表的代号打进去。

  • iconbitmap(“xx.ico”)
    设定视窗图示,图示可以去找网路上有免费提供的.ico的档案,记得如果路径不是放在跟程序码同一个地方,要自己设好路径,才不会跑错。

下图为执行结果⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20210912/20140047locY4FFuq3.png
可以看到上方的图示跟标题都有改变,背景也从预设的灰色改成自行设定的绿色


明天会进入标签Label方法罗,有任何问题欢迎留言讨伦~(∩^o^)⊃━☆
/images/emoticon/emoticon12.gif


<<:  DAY15-JAVA的继承(2)

>>:  DAY2 安装 Docker

数值系统与补数

本文目标 了解计算机如何储存资料 了解计算机如何处理负数以及减法 练习进制间的转换 进制系统 进位制...

Day 12 实作资料库

前言 今天会实作资料库的结构。我们总共需要实作三个 table 的 scheme,分别是 users...

Day27 休息是为了走更长的路?

大家好,我是乌木白,今天要和大家讨论放松这件事情 过度的紧绷 在我参加六角学院的直播班,刚好认识几...

React-使用JSON增加品项

这边的功能是为了想呈现网页中作品集这个项目 但是在作品集中又分了很多品项 像是平面、网页、插画等等....

Day 27 |> Elixir 并行性 (一)

这篇不承接上一篇,因为时间太赶了,所以来看 Elixir 并行程序的部分。 Elixir 的 Pro...