如何在GUI程序中添加背景颜色?

时间:2018-03-19 13:34:28

标签: python user-interface tkinter background

我目前正在使用tkinter,而我似乎无法弄清楚如何在Windows中添加背景。我正在创建一个GUI程序,允许用户登录并输入数据。

这是我目前计划的一部分:

import tkinter as tk
from tkinter import ttk

window = tk.Tk()

frameWidth = 1100
frameHeight = 600
window.minsize(frameWidth, frameHeight)

loginFrame=ttk.Frame(window, width = frameWidth, height = frameHeight)
loginFrame.place(x = 0, y = 0)

setupLoginFrame()
window.mainloop()

3 个答案:

答案 0 :(得分:1)

您应该使用Frame而不是tk致电ttk,以便使用bg的{​​{1}}属性,然后使用loginFrame几何而不是packplace颜色填充整个bgFrame不支持ttk属性。

bg

答案 1 :(得分:0)

我非常确定window.configure(background='blue')会奏效。这是python,而不是Java。

此外,here is some Tkinter documentation.

答案 2 :(得分:0)

您需要创建新的ttk.Sytle并在创建ttk.Frame时使用它。可以通过将其基于现有的名为'TFrame'的默认样式来简化该过程。

示例:

import tkinter as tk
from tkinter import ttk

window = tk.Tk()

frameWidth = 1100
frameHeight = 600
window.minsize(frameWidth, frameHeight)

# Create a custom ttk Style.
MY_STYLE_NAME = 'My_Style.TFrame'  # Create a new style based on default TFrame.
MY_STYLE = ttk.Style()
MY_STYLE.configure(MY_STYLE_NAME, background='green')

# Use the custom Style when creating the Frame.
loginFrame=ttk.Frame(window, width=frameWidth, height=frameHeight, style=MY_STYLE_NAME)
loginFrame.place(x = 0, y = 0)

#setupLoginFrame()
window.mainloop()

以下是关于ttk.Frame和自定义ttk.Style的一些文档。