Tag: tkinter

python pack()和grid()方法一起使用

我新来的Python,所以请原谅我的Noob-ness。 我试图在我的应用程序窗口底部创build一个状态栏,但似乎每次我在同一个文件中使用pack()和grid()方法,主应用程序窗口不会打开。 当我注释掉statusbar.pack(side = BOTTOM,fill = X)这一行时,我的应用程序窗口打开的很好,但是如果我把它放在它里面,并且如果我注释掉任何使用grid方法的行窗口打开状态栏。 看来我只能使用pack()或grid(),但不能同时使用。 我知道我应该能够使用这两种方法。 有什么build议么? 代码如下: from Tkinter import * import tkMessageBox def Quit(): answer = tkMessageBox.askokcancel('Quit', 'Are you sure?') if answer: app.destroy() app = Tk() app.geometry('700×500+400+200') app.title('Title') label_1 = Label(text = "Enter number") label_1.grid(row = 0, column = 0) text_box1 = DoubleVar() input1 = Entry(app, textvariable = text_box1) input1.grid(row […]

在单独的线程中运行Tkinter表单

我已经写了一个简短的模块,可以传递一个图像,只需创build一个Tkinter窗口并显示它。 我遇到的问题是,即使当我实例化并调用在单独的线程中显示图像的方法时,主程序将不会继续,直到Tkinter窗口closures。 这是我的模块: import Image, ImageTk import Tkinter class Viewer(Tkinter.Tk): def __init__(self,parent): Tkinter.Tk.__init__(self,parent) self.parent = parent self.initialize() def initialize(self): self.grid() def show(self,img): self.to_display = ImageTk.PhotoImage(img) self.label_image = Tkinter.Label(self,image=self.to_display) self.label_image.grid(column = 0, row = 0, sticky = "NSEW") self.mainloop() 它似乎工作正常,除非我从我的testing程序,如下所示调用它,它似乎不会允许我的testing程序继续,即使在不同的线程启动。 import Image from viewer import Viewer import threading def showimage(im): view = Viewer(None) view.show(im) if __name__ […]

显示tkinter小部件中subprocess的实时输出

我的问题是几乎相同的这一个: 小工具来显示subprocess标准输出? 但更进一步。 我有以下代码(python2.7): def btnGoClick(p1): params = w.line.get() if len(params) == 0: return # create child window win = tk.Toplevel() win.title('Bash') win.resizable(0, 0) # create a frame to be able to attach the scrollbar frame = ttk.Frame(win) # the Text widget – the size of the widget define the size of the window t […]

如何将parameter passing给tkinter中的事件处理程序?

widget.bind('<Button-1>',callback) # binding def callback(self,event) #do something 我需要传递一个参数给callback() 。 参数是一个字典对象。

Tkinter添加行号到文本小部件

试图学习tkinter和python。 我想在相邻的框架中显示文本小部件的行号 from Tkinter import * root = Tk() txt = Text(root) txt.pack(expand=YES, fill=BOTH) frame= Frame(root, width=25) # frame.pack(expand=NO, fill=Y, side=LEFT) root.mainloop() 我曾经在一个名为unpythonic的网站上看过一个例子,但是它假定txt的行高是6个像素。 我正在尝试这样的事情: 1)将Any-KeyPress事件绑定到返回发生按键的行的函数: textPad.bind("<Any-KeyPress>", linenumber) def linenumber(event=None): line, column = textPad.index('end').split('.') #creating line number toolbar try: linelabel.pack_forget() linelabel.destroy() lnbar.pack_forget() lnbar.destroy() except: pass lnbar = Frame(root, width=25) for i in range(0, len(line)): linelabel= Label(lnbar, […]

我如何摆脱Python的Tkinter根窗口?

你知道一个聪明的方式来隐藏或以任何其他方式摆脱出现的Tk()打开的根窗口? 我只想使用一个正常的对话框。 我应该跳过对话框并把所有的组件放在根窗口中吗? 这是可能的还是可取的? 还是有更聪明的解决scheme?

如何捆绑包括依赖关系的Python应用程序?

我需要将我的python应用程序,它的依赖项和python打包成一个MSI安装程序。 最终的结果应该是: Python安装在标准位置 包及其依赖关系安装在一个单独的目录(可能是站点包) 安装目录应该包含未压缩的python,并且不需要独立的可执行文件

tkinter循环和串行写入

我已经写了一个使用tkinter的gui,我需要将两个尺度的值实时地发送给一个arduino。 我已经validation了arduino正在使用另一个发送值给arduino的草图,这些都是收到的,我在下面的代码中添加了我的python代码 while True: #command = raw_input("Enter level ") #if command == '1' : ser.write("c"+str (c1v.get())) ser.write(":d"+str (c2v.get())) 我已经把这个内部和外部的tkinter主循环,并得到不同的结果,从gui不加载到数据只有发送一次guiclosures。 有人可以告诉我如何让gui运行,当我移动一个规模的价值是实时发送到arduino串行。 inheritance人的代码: from Tkinter import * import serial ser = serial.Serial('/dev/ttyAMA0', 9600) master= Tk() master.geometry('500×500+0+0') def print_value(val): print ("c1="+str (c1v.get())) print ("c2="+str(c2v.get())) c1v=DoubleVar() c2v=DoubleVar() c1 = Scale(master, from_=255, to=0, length =400,width =100, troughcolor = 'blue',command=print_value, variable […]

closurestkinter窗口?

如何结束Tkinter程序? 比方说,我有这个代码: from Tkinter import * def quit(): # code to exit root = Tk() Button(root, text="Quit", command=quit).pack() root.mainloop() 我应该如何定义quitfunction?

如何在Tkinter屏幕上放置一个窗口?

我正在尝试将tkinter窗口居中。 我知道我可以编程获取窗口的大小和屏幕的大小,并使用它来设置几何,但我想知道是否有一个更简单的方法来在屏幕上的窗口居中。