你好美丽的社区。我正在树莓上开发 tkinter GUI。好吧,首先我开始在 Windows 上对我的 gui 进行编程,我想让我的按钮在屏幕上看起来平坦,边缘没有任何线条,并且使用救济 =“平坦”效果很好,但是当我完成我的项目并在我的树莓上运行我的程序时我的按钮在边缘上有那些线,似乎救济 = 平坦 没有任何效果,我尝试使用救济 = FLAT,但仍然存在同样的问题
在这里您可以看到正在运行的程序的屏幕截图以及我的按钮周围的线条
这是我的代码
bouton_break = Button(f2, image=img_break, relief='flat' , command = break_ ) #break
bouton_break.place(bordermode=OUTSIDE, height=134, width=107, x=40 , y=200)
bouton_MM = Button(f2, image=img_MM, relief='flat', command=maint_page)
bouton_MM.place(bordermode=OUTSIDE, height=134, width=107, x=170 , y=200)
boutonlogout = Button(f2, image=img_logout , relief='flat', command = logout_cmd) #logout
boutonlogout.place(bordermode=OUTSIDE, height=134, width=107, x=300 , y=200)
Run Code Online (Sandbox Code Playgroud) 我有这个脚本,它在 tkinter 中的主类/循环之外/之前执行一个长时间运行的函数,并且我创建了一个按钮来使用 root.destroy() 完全退出程序,但它关闭了 gui 并且该函数继续运行创建可执行文件后,控制台甚至作为后台进程。
如何解决这个问题?
我的脚本片段:
from tkinter import *
import threading
def download():
#downloading a video file
def stop(): # stop button to close the gui and should terminate the download function too
root.destroy()
class
...
...
...
def downloadbutton():
threading.Thread(target=download).start()
Run Code Online (Sandbox Code Playgroud) python multithreading tkinter python-multithreading python-2.7
我目前正在用 python 编写代码,以创建一个与“太空入侵者”有些相似的游戏。在我尝试使用类制作所有入侵者对象(即海龟)之前,一切进展顺利,因此我可以在调整难度时轻松操纵我想要的敌人数量。
但是现在我已经这样做了,我已经删除了 TURTLE 对象的功能,因为它们现在被视为 CLASS OBJECTS。因此,我不能使用诸如[object].xcor和 之类的乌龟模块功能,[object].ycor这些功能有些必不可少。
这是创建对象类的代码:
class invaders():
def __init__(self, speed, position):
self = turtle.Turtle() # how I thought I could make them turtle objects (didn't work)
self.color('red')
self.shape('circle')
self.up()
self.setposition(position)
self.speed(speed)
def change_speed(newSpeed):
invader.speed(newSpeed) # use to make new speed if changing difficulty #variable.changeSpeed(newSpeed)
def change_position(x, y):
invader.setposition(x, y)
Run Code Online (Sandbox Code Playgroud)
我还在下面附上了一张照片,以便您可以看到我正在谈论的两个对象之间的区别。
有什么方法可以创建一个保存窗口,而不必在 python (tkinter) 中从头开始?
from tkinter import *
Run Code Online (Sandbox Code Playgroud)
如何使用 tkinter 创建文件保存对话框?
我有一个简单的 Tkinter gui,上面有大约 20 个按钮。当我单击一个按钮时,脚本会运行大约 5 分钟。在此期间,我必须等到脚本停止运行才能单击其他按钮。有没有办法设置窗口,以便我可以在第一个单击的脚本运行时单击其他按钮?
from Tkinter import *
import Tkinter as tk
import time
def function1():
time.sleep(60)
print 'function1'
def function2():
time.sleep(60)
print 'function2'
root = Tk()
w = 450 # width for the Tk root
h = 500# height for the Tk root
frame = Frame(root, width=w,height =h)
button1=Button(frame, text = 'function 1',fg='black',command=function1).grid(row=1,column=1)
button2=Button(frame, text = 'function 2',fg='black',command=function2).grid(row=1,column=2)
frame.pack()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
我希望能够在仍在运行function2后点击function1
我一直在使用 tkinter 在 python 中编码,但遇到了 tinter 库中的异常。
由于我不知道错误的确切含义,因此我很难调试我的程序。我想知道是否有人可以概述错误并提出可能导致它的原因,以便我知道在调试我的程序时要查找什么。_tkinter.TclError: invalid command name ".entry#"(散列代表一个数字)。
我有一张图像显示通过我的程序的导航,如果有帮助会导致错误。

基本上,该程序只会让我在“记录”部分中查看一次子菜单,每次运行它时,它应该让我根据需要多次输入它们。
有一个按钮。
如何设置禁用按钮文本的颜色?
import tkinter as tk
root = tk.Tk()
frame = tk.Frame(root)
frame.pack()
button = tk.Button(frame, text="X", fg="red")
button.grid(row=0, column=0)
button['state'] = tk.DISABLED
root.mainloop()
Run Code Online (Sandbox Code Playgroud) 我无法使用 fg 和 bg 更改按钮的颜色。我收到此错误:_tkinter.TclError: unknown option "-fg"
_scrape_btn = ttk.Button(_mainframe, text='Scrape!', command=save, fg='blue')
_scrape_btn.grid(row=2, column=0, sticky=(N,E), pady=2)
_compress_btn = ttk.Button(_mainframe, text='Compress!', command=compress)
_compress_btn.grid(row=2, column=1, sticky=W, pady=2)
Run Code Online (Sandbox Code Playgroud) 我想在一个框架中放置一个背景图像,这是我试图运行但没有成功的代码。
import tkinter as tk
from tkinter import *
root = tk.Tk()
F1 = Frame(root)
F1.grid(row=0)
photo = PhotoImage(file="sfondo.png")
label = Label(F1, image=photo)
label.image = photo
label.place(x=0, y=0)
b = tk.Button(label, text="Start")
b.grid(row=8, column=8)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
如果我这样运行代码,则只显示左上角的一个小点(框架中没有任何内容,即使我将标签放在其中)。如果我用 替换标签父级root,它会显示带有一小部分图像作为背景的按钮(只有按钮的周边有几个像素的颜色)。但是,我想要的是框架中完整显示的背景图像,我可以在其中放置我想要的小部件。
我尝试使用 place 方法作为 this 和 PIL 模块
import tkinter as tk
from tkinter import *
from PIL import Image, ImageTk
root = tk.Tk()
F1 = Frame(root)
F1.grid(row=0)
image = Image.open("sfondo.png")
render = ImageTk.PhotoImage(image)
img = tk.Label(F1, image=render)
img.image = render
img.place(x=0, …Run Code Online (Sandbox Code Playgroud) 基本上我正在尝试使用Entry box我在 tkinter 中制作的 as input,将 a 传递value给我的信号发生器。但是我收到标题中提到的错误。如果我通过value终端,它可以正常工作,所以这可能是 tkinter 的问题,而不是仪器(罗德和施瓦茨 SMB100A)的问题。
我尝试将值传递为string,正如错误所暗示的那样,但没有运气。
import visa
import tkinter as tk
rm = visa.ResourceManager()
print(rm.list_resources())
inst = rm.open_resource('TCPIP::192.168.100.200::INSTR')
#This one would work, after i bind the function to the button,
#i just press it and it passes the preset value.
#All i want to do is pass a value through the Entry widget,
#instead of having a set one.
#freq = str(250000)
#def freqset_smb100a(): …Run Code Online (Sandbox Code Playgroud)