草庐IT

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 - 如何显示使用 "withdraw"方法隐藏的窗口?

我想在调用withdraw后显示一个窗口。以下是我目前的代码:fromTkinterimport*defcallback():globalrootroot.withdraw()win2=Tk()root=Tk()Label(root,text='thisisawindow').pack()Button(root,text='withdraw',command=self.callback).pack()mainloop()我一按下按钮,窗口就如我所愿地消失了,然后又出现了另一个窗口,一切正常。如何让第一个窗口恢复到与之前相同的状态? 最佳答案

python - 什么是正确的 : widget. rowconfigure 或 widget.grid_rowconfigure?

使用网格几何管理器时。假设您有:importtkinterastkfromtkinterimportttkroot=tk.Tk()root.rowconfigure(0,weight=1)root.columnconfigure(0,weight=1)ttk.Button(root,text="HelloWorld").grid(sticky=tk.NSEW)root.mainloop()指定行/列权重的部分也可以编码为:root.grid_rowconfigure(0,weight=1)root.grid_columnconfigure(0,weight=1)对于这个例子,什么是正确

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 - Python 程序中的 'StringVar' 问题

我正在尝试使用Tkinter在Python中编写一个非常简单的UI。我在StringVar类中遇到了一个小问题。问题是,当我运行python脚本时,我在初始化StringVar变量的行中收到错误。我已经写了一个关于这个问题的示例程序,我想开始工作:fromTkinterimport*var=StringVar()var.set('test');当我通过python运行它时,我看到了这个错误:$pythontest.pyTraceback(mostrecentcalllast):File"test.py",line3,invar=StringVar()File"/usr/lib/pyth