在Linux上将Tkinter与Python结合使用,我试图通过使用KeyboardInterrupt异常让Ctrl+C停止执行,但是当我按下它时有一段时间没有任何反应。最终它“接受”并退出。示例程序:importsysfromTkinterimport*try:root=Tk()root.mainloop()except:print("youpressedcontrolc")sys.exit(0)程序如何才能更快地使用react? 最佳答案 这有点问题,因为在一般情况下,在调用mainloop方法后,您将依赖Tcl来处理事件。由于
默认情况下,我在Canvas上绘制的圆圈具有黑色轮廓。我尝试不使用颜色,而是以某种方式使轮廓消失。importtkinterclassDraw:def__init__(self):self._root_window=tkinter.Tk()self._canvas=tkinter.Canvas(master=self._root_window,width=500,height=500,background='#1E824C')self._canvas.pack()self._canvas.create_oval(100,100,250,250,fill='white')self._ro
下面是一些创建4个Radiobutton的示例代码,其中2个使用int,2个使用str:fromtkinterimport*classtest:def__init__(self):wind=Tk()frame1=Frame(wind)frame1.pack()self.v1=IntVar()self.v2=StringVar()int1=Radiobutton(frame1,text='int1',variable=self.v1,value=1,command=self.ipress)int2=Radiobutton(frame1,text='int2',variable=self.
我正在尝试为初学者创建一个简单的文字处理器,以便更好地学习Python。我在主编辑程序中使用TkinterText小部件,唯一的问题是height和width由字符定义.这会在我更改字体时产生问题,因为并非所有字体的宽度都相同。每次更改字体时,文本小部件都会重新调整大小,尽管从技术上讲它的宽度和高度是相同的。这在尝试输入内容时看起来很荒谬,我正在努力使文字处理器尽可能漂亮。有没有办法以像素为单位定义宽度和高度?.grid_propagate(False)没有用,因为尺寸在技术上没有改变,只有字符宽度。我现在正试图远离wxPython,因为到目前为止我所做的一切都在Tkinter中。我进
我有一个TkinterCanvas小部件(Python2.7,而不是3),在这个Canvas上我有不同的项目。如果我创建一个与旧项目重叠的新项目,它将在前面。我现在如何将旧项目移动到新创建的项目前面,甚至是Canvas上所有其他项目的前面?到目前为止的示例代码:fromTkinterimport*root=Tk()canvas=Canvas(root,width=200,height=200,bg="white")canvas.grid()firstRect=canvas.create_rectangle(0,0,10,10,fill="red")secondRect=canvas.c
假设我有一些简单的代码,像这样:fromTkinterimport*root=Tk()app=Toplevel(root)app.mainloop()这将打开两个窗口:Toplevel(root)窗口和Tk()窗口。是否可以避免打开Tk()窗口(root)?如果是这样,如何?我只想要顶层。我希望发生这种情况,因为我正在制作一个将打开多个窗口的程序,这些窗口都是root的Toplevel。谢谢! 最佳答案 withdraw()方法从屏幕上删除窗口。iconify()方法最小化窗口,或将其变成图标。deiconify()方法将重绘窗口,
tkinter可以从这样的图像或图标创建自定义按钮吗? 最佳答案 这是可能的!如果您查看buttondocumentation,您可以使用图像显示在按钮上。例如:fromtkinterimport*root=Tk()button=Button(root,text="Clickme!")img=PhotoImage(file="C:/pathtoimage/example.gif")#makesuretoadd"/"not"\"button.config(image=img)button.pack()#Displayingthebut
(Python版本:3.1.1)我在tkinter中遇到了StringVar的奇怪问题。在尝试持续更新项目中的消息小部件时,我在尝试创建变量时不断遇到错误。我跳出一个交互式pythonshell进行调查,这就是我得到的:>>>StringVar>>>StringVar()Traceback(mostrecentcalllast):File"",line1,inFile"C:\Python31\lib\tkinter\__init__.py",line243,in__init__Variable.__init__(self,master,value,name)File"C:\Python
我想在添加一些小部件后更改Canvas大小例子:fromTkinterimport*master=Tk()w=Canvas(master,width=100,height=100)w.config(bg='white')w.create_oval(90,90,110,110,width=0,fill="ivory3")w=Canvas(master,width=200,height=200)w.pack()mainloop()但似乎当我重新声明Canvas大小时,对象被删除了。我在Canvas上创建了一些对象后是否可以更新Canvas? 最佳答案
我将使用代表URL的标签列表填充一个框架。url将从列表中输入,数量可以在3到5之间,由用户决定。使这些url可点击的最简单方法是什么,以便用户可以访问显示的网站?有比使用标签更好的方法吗?谢谢 最佳答案 我认为标签很好。您只需将回调绑定(bind)到鼠标点击。defopen_url(url):pass#Opentheurlinabrowserfori,urlinenumerate(url_list):label=tk.Label(frame,text=url)label.grid(row=i)label.bind("",lambd