在python中使用Tkinter模块和背景色模块不起作用

2024-05-17 14:28:32 发布

您现在位置:Python中文网/ 问答频道 /正文

import pyautogui, time
import tkinter as tk

root = tk.Tk()

root.configure(background='cyan')

root.title("SycoBak's SpamBot")

canvas1 = tk.Canvas(root, width = 400, height = 300)
canvas1.pack()

entry1 = tk.Entry (root) 
canvas1.create_window(200, 140, window=entry1)

label1 = tk.Label(root, text='Spam Bot')
label1.config(font=('helvetica', 14))
canvas1.create_window(200, 25, window=label1)

label2 = tk.Label(root, text='Word')
label2.config(font=('helvetica', 10))
canvas1.create_window(200, 120, window=label2)

label3 = tk.Label(root, text='Amount')
label3.config(font=('helvetica', 10))
canvas1.create_window(200, 160, window=label3)

entry2 = tk.Entry (root) 
canvas1.create_window(200, 180, window=entry2)

def Spammer ():
  time.sleep(5)
  x = 0
  amount = int(entry2.get())
  word = entry1.get()
  while (amount > x):
    pyautogui.typewrite(word)
    pyautogui.press("enter")
    x=x+1

button2 = tk.Button(text='Start', command=Spammer)
canvas1.create_window(200, 220, window=button2)

root.mainloop()

这是我的代码,我不知道为什么背景色没有改变。我想有人来帮我调试这个问题,因为我没有得到任何错误在我的控制台


Tags: textconfigcreaterootwindowlabeltkfont
1条回答
网友
1楼 · 发布于 2024-05-17 14:28:32

我看到的唯一问题是你的画布占据了窗口的空间,因此看不到颜色。我如何证明它?只需将窗口调整得更大,您就会看到青色

因此,不要使用画布在屏幕上显示小部件,而是使用布局管理器,如pack()grid()place()。下面是一个简化的核心代码示例,其中包含pack(),没有画布:

import tkinter as tk

root = tk.Tk()
root.configure(background='cyan')
root.title("SycoBak's SpamBot")

entry1 = tk.Entry (root) 
entry1.pack()

label1 = tk.Label(root, text='Spam Bot')
label1.config(font=('helvetica', 14))
label1.pack()

label2 = tk.Label(root, text='Word') 
label2.config(font=('helvetica', 10))
label2.pack()

label3 = tk.Label(root, text='Amount')
label3.config(font=('helvetica', 10))
label3.pack()

entry2 = tk.Entry (root) 
entry2.pack()

button2 = tk.Button(text='Start') #i removed the function here as no changes require there
button2.pack()

root.mainloop()

请注意,您看到的标签的灰色背景是小部件的背景,您也可以将其设置为青色,如:

label1 = tk.Label(root, text='Spam Bot',bg='cyan') #do same for others too

相关问题 更多 >