我刚开始使用tkinter和python3。我正在使用pygubu尝试制作一个非常简单的输入来自Entry小部件,并在按下按钮时将其显示在消息框中。以下是我使用的代码:
sed -e 's/\([A-Za-z]* Smith\)/\n\1/g' names | sed '/Smith/!d'
以下是ui文件代码:http://pastebin.com/puRbD87m 另外,请告诉我具体错误的地方。
答案 0 :(得分:0)
在类中创建on_button1_click()
作为方法,然后您可以创建
self.entry_1 = self.builder.get_object('Entry_1', self.master)
并使用
访问文字self.entry_1.get()
完整示例
import tkinter as tk
import pygubu
class MyApplication(pygubu.TkApplication):
def _create_ui(self):
self.builder = pygubu.Builder()
self.builder.add_from_file('test.ui')
mainwindow = builder.get_object('mainwindow', master)
self.entry_1 = self.builder.get_object('Entry_1', self.master) # <- self.entry
callbacks = {
'on_button1_clicked': self.on_button1_click # <- self.
}
self.builder.connect_callbacks(callbacks)
def on_button1_click(self): # <- self
print(self.entry_1.get())
if __name__ == '__main__':
root = tk.Tk()
app = MyApplication(root)
app.run()