lengyue869 发表于 2021-6-18 15:05:13

tkinter怎么设置窗口标题颜色?

本帖最后由 lengyue869 于 2021-6-21 21:03 编辑

RT....

Twilight6 发表于 2021-6-18 15:54:28



Tkinter 不支持自定义标题栏吧,因为他是调用系统来绘制的

lengyue869 发表于 2021-6-18 16:02:06

Twilight6 发表于 2021-6-18 15:54
Tkinter 不支持自定义标题栏吧,因为他是调用系统来绘制的

{:10_243:}

lengyue869 发表于 2021-6-18 16:17:38

网上搜了一个不显示原有标题栏,然后重新写了一个frame做标题栏的....
from tkinter import *

root = Tk()


def motion(event):
    print(event.x, event.y, event.x_root, event.y_root)


def move_window(event):
    root.geometry('+{0}+{1}'.format(event.x_root, event.y_root))


root.overrideredirect(True)# turns off title bar, geometry
root.geometry('400x100+200+200')# set new geometry
root.update()

# make a frame for the title bar
title_bar = Frame(root, bg='gray', relief='raised', bd=2)

# put a close button on the title bar
close_button = Button(title_bar, text='X', bg='gray', command=root.destroy)

# a canvas for the main area of the window
window = Canvas(root)

# pack the widgets
title_bar.pack(expand=1, fill=X)
close_button.pack(side=RIGHT)
window.pack(expand=1, fill=BOTH)

# bind title bar motion to the move window function
title_bar.bind('<B1-Motion>', move_window)
root.bind('<Motion>', motion)

root.mainloop()

Twilight6 发表于 2021-6-18 16:31:40

lengyue869 发表于 2021-6-18 16:17
网上搜了一个不显示原有标题栏,然后重新写了一个frame做标题栏的....



嗯,这个当然可以,但是 Tkinter 没有直接自定义标题栏的,只能自己靠其他组件做

阿奇_o 发表于 2021-6-18 17:14:31

真想改,那就改系统设置即可。这是属于系统GUI的事。

解决:设置 --> 颜色 --> 勾选“标题栏和窗口边框”

ps: 只是这样设置 整个系统的所有窗口,都会使用该颜色配置。{:10_297:}

well, 颜色这东西,你喜欢就好~ {:10_250:}

lengyue869 发表于 2021-6-18 17:25:24

按照上面的方法,重新弄了个标题栏{:5_109:}

页: [1]
查看完整版本: tkinter怎么设置窗口标题颜色?