4-Tkinter 组件-Tk窗口

Tk窗口

窗口组件,每个tk程序开始第一件事必然是实例化这个东西.

下边这一系列方法用于与窗口管理器进行交互。他们可以被Tk(根窗口)调用,同时也适用于Toplevel(顶级窗口)。

方法

方法说明
(wm_)overrideredirect(boolean=None)–如果参数为True,该窗口忽略所有的小部件(也就是说该窗口将没有传统的标题栏、边框等部件)Toplevel很实用
geometry(geometry=None)–设置和获取窗口的尺寸
–geometry的参数格式为:“%dx%d%+d%+d”%(width, height, xoffset, yoffset)
(wm_)title(string=None)设置窗口的标题
(wm_)resizable(width=None, height=None)指定是否可以改变该窗口的尺寸
–width为True说明允许调整窗口的水平尺寸–height为True说明允许调整窗口的垂直尺寸
attributes(*args)设置和获取窗口属性
–如果你只给出选项名,将返回当前窗口该选项的值
–注意:以下选项不支持关键字参数,你需要在选项前加横岗(-)并用字符串的方式表示,用逗号隔开选项和值。
–例如设置窗口的透明度为50%,你应该使用attributes(“-alpha”, 0.5)代替 attributes(alpha=0.5)
设置方法root.attributes("-alpha", 0.5, "-fullscreen", True)
注意:以下选项不支持关键字参数,要在选项前添加横杠-,并用字符串的方式表示,用逗号,隔开选项和值。
—设置参数
-----alpha: Windows,Mac)控制窗口的透明度 1.0表示不透明,0.0表示完全透明
该选项并不支持所有的系统,对于不支持的系统,Tkinter绘制一个不透明(1.0)的窗口
-----disabled: (Windows)禁用整个窗口(这时候你只能从任务管理器中关闭它)
-----fullscreen: (Windows,Mac)如果设置为True,则全屏显示窗口
-----modified: (Mac)如果设置为True,该窗口被标记为改动过
-----titlepath: (Mac)设置窗口代理图标的路径
-----toolwindow: (Windows)如果设置为True,该窗口采用工具窗口的样式
-----topmost: (Windows,Mac)如果设置为True,该窗口将永远置顶
deiconify()–显示窗口
–默认情况下新创建的窗口都会显示在屏幕上,但是用iconify()或withdraw()方法可以在屏幕上移除窗口
(wm_)withdraw()将窗口从屏幕上移除(并没有销毁)
–需要重新显示窗口,使用deiconify()方法
–该方法会使得state()返回"withdraw"
(wm_)iconify()–将窗口图标化(最小化)
–需要重新显示窗口,用deiconify()方法–该方法会使得state()返回"iconic"
colormapwindows(*wlist)–设置和获取WM_COLORMAP_WINDOWS属性
–该属性仅支持X窗口系统的窗口管理器,其他系统均忽略
(wm_)maxsize(width=None, height=None)–设置和获取该窗口的最大尺寸
(wm_)state(newstate=None)设置和获得当前窗口的状态
–newstate的只可以是’normal’, ‘iconoc’(见iconify), ‘withdraw’(见withdraw), ‘icon’(见iconwindow)和’zoomed’(放大,Windows特有)
(wm_)iconbitmap(bitmap=None, default=None)–设置和获取窗口的图标
–例如root.iconbitmap(bitmap=“python.ico”)
–default参数可以用于指定由该窗口创建的子窗口的默认图标
(wm_)iconmask(bitmap=None)–设置和获取位图编码
(wm_)iconname(newName=None)–设置和获取当前窗口图标化(最小化)时的图标名字
(wm_)iconposition(x=None, y=None)–设置和获取当前窗口图标化(最小化)时的图标位置
(wm_)iconwindow(pathName=None)–设置和获取当前窗口图标化(最小化)时的组件窗口–该方法会使得state()返回“icon”
client(name=None)设置和获取WM_CLIENT_MACHINE属性
–如果要删除WM_CLIENT_MACHINE属性,赋值为空字符串即可
–该属性仅支持X窗口系统的窗口管理器,其他系统均忽略
focusmodel(model=None)–设置和获取焦点模式
(wm_)minsize(width=None, height=None)–设置和获取该窗口的最小尺寸
frame()–返回一个字符串表示当前系统特征
–对于类Unix系统,返回值是X窗口标识符
–对于Windows系统,返回值是HWND强制转换为长整形的结果
(wm_)grid(baseWidth=None, baseHeight=None, widthInc=None, heightInc=None)通知窗口管理器该窗口将以网格的形式重新调整尺寸
–baseWidth和baseHeight指定Tk_GeometryRequest要求的网格单元数
–widthInc和heightInc指定单元的高度和宽度
(wm_)group(window=None)–将窗口添加到窗口群中
–window参数指定控制窗口群的主窗口-
-如果忽略该选项,将返回当前窗口群的主窗口
aspect(minNumber=None, minDenom=None, maxNumber=None, maxDenom=None,)控制该窗口的宽高比(width:height)
–宽高比限制在:minNumber/minDenom~maxNumber/maxDenom
–如果忽略参数,则返回一个4元组表示当前的限制(如果有的话)
command(value=None)–设置和获取WM_COMMAND属性
–该属性仅支持X窗口系统的窗口管理器,其他系统均忽略
(wm_)positionfrom(who=None)–指定窗口位置由“谁决定–如果who参数是“user”,窗口位置由用户决定–如果who参数是“program”,窗口位置由系统决定
(wm_)protocol(name=None, func=None)将回调函数func与相应的规则name绑定
–name参数可以是“WM_DELETE_WINDOW”:窗口被关闭的时候
–name参数可以是“WM_SAVE_YOURSELF”:窗口被保存的时候
–name参数可以是“WM_TAKE_FOCUS”:窗口获得焦点的时候
(wm_)sizefrom(who=None)–指定窗口尺寸由“谁决定
–如果who参数是“user”,窗口尺寸由用户决定–如果who参数是“program”,窗口尺寸由系统决定
(wm_)transient(master=None)指定为master的临时窗口

实例化Tk

from tkinter import Tk
from tkinter import Label
from tkinter.ttk import Button


class MyApp:
    def __init__(self):
        self.root = Tk()
        self.setupUI()
        self.root.wm_minsize(300, 300)
        self.root.wm_title("继承写法窗口")
        self.root.mainloop()

    def setupUI(self):
        Label(self.root, text='标签').pack()
        Button(self.root, text="继承按钮").pack()


if __name__ == '__main__':
    MyApp()

继承写法

其他地方需要用到master的直接传入self即可。

from tkinter import Tk
from tkinter import Label
from tkinter.ttk import Button


class MyApp(Tk):
    def __init__(self):
        Tk.__init__(self)
        self.win_init()
        self.setupUI()

    def win_init(self):
        self.geometry("300x300+100+200")
        self.title("继承写法")
        self.resizable(False, False)

    def setupUI(self):
        Label(self, text='标签').pack()
        Button(self, text="继承按钮").pack()


if __name__ == '__main__':
    MyApp().mainloop()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

士别三日,当挖目相待

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值