草庐IT

$tkinter

全部标签

python - 按下鼠标右键时 Python TKinter 文本小部件中的 Stardand 上下文菜单

我在WindowsXP上工作,使用Python2.6.x和TKinter。在应用程序中使用文本小部件,但缺少标准弹出菜单(剪切、复制、粘贴、删除、全选)。如何让它出现? 最佳答案 感谢thispost,我找到了一个方法.我做了一些修改。在底部有一个最小的main来尝试它。fromTkinterimport*defrClicker(e):'''rightclickcontextmenuforallTkEntryandTextwidgets'''try:defrClick_Copy(e,apnd=0):e.widget.event_ge

python - 在 Python Tkinter 中创建模态对话框是否需要 wait_window()?

我尝试使用PythonTkinter创建模式对话框。我发现使用和不使用wait_window()之间没有区别。importtkinterastkdefbutton_click():dlg=tk.Toplevel(master=window)tk.Button(dlg,text="Dismiss",command=dlg.destroy).pack()dlg.transient(window)#onlyonewindowinthetaskbardlg.grab_set()#modal#window.wait_window(dlg)#why?window=tk.Tk()tk.Button(

python - tkinter:KeyboardInterrupt 需要一段时间

在Linux上将Tkinter与Python结合使用,我试图通过使用KeyboardInterrupt异常让Ctrl+C停止执行,但是当我按下它时有一段时间没有任何反应。最终它“接受”并退出。示例程序:importsysfromTkinterimport*try:root=Tk()root.mainloop()except:print("youpressedcontrolc")sys.exit(0)程序如何才能更快地使用react? 最佳答案 这有点问题,因为在一般情况下,在调用mainloop方法后,您将依赖Tcl来处理事件。由于

python - 在 Tkinter 中删除椭圆的轮廓?

默认情况下,我在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

python - 为什么 Tkinter 的单选按钮在使用 StringVar 而不是 IntVar 时都开始选中?

下面是一些创建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 - 如何停止 Tkinter 文本小部件在字体更改时调整大小?

我正在尝试为初学者创建一个简单的文字处理器,以便更好地学习Python。我在主编辑程序中使用TkinterText小部件,唯一的问题是height和width由字符定义.这会在我更改字体时产生问题,因为并非所有字体的宽度都相同。每次更改字体时,文本小部件都会重新调整大小,尽管从技术上讲它的宽度和高度是相同的。这在尝试输入内容时看起来很荒谬,我正在努力使文字处理器尽可能漂亮。有没有办法以像素为单位定义宽度和高度?.grid_propagate(False)没有用,因为尺寸在技术上没有改变,只有字符宽度。我现在正试图远离wxPython,因为到目前为止我所做的一切都在Tkinter中。我进

python - Tkinter Canvas 将项目移动到顶层

我有一个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

python - Tkinter 中的顶层 : Prevent Two Windows from Opening

假设我有一些简单的代码,像这样:fromTkinterimport*root=Tk()app=Toplevel(root)app.mainloop()这将打开两个窗口:Toplevel(root)窗口和Tk()窗口。是否可以避免打开Tk()窗口(root)?如果是这样,如何?我只想要顶层。我希望发生这种情况,因为我正在制作一个将打开多个窗口的程序,这些窗口都是root的Toplevel。谢谢! 最佳答案 withdraw()方法从屏幕上删除窗口。iconify()方法最小化窗口,或将其变成图标。deiconify()方法将重绘窗口,

python - Tkinter 自定义创建按钮

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 - 初始化时出现 tkinter StringVar() 错误

(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