如何获取ttk.Entry的值并将其显示在消息框中?

时间:2016-12-20 13:36:46

标签: python-3.x tkinter ttk

我刚开始使用tkinter和python3。我正在使用pygubu尝试制作一个非常简单的输入来自Entry小部件,并在按下按钮时将其显示在消息框中。以下是我使用的代码:

sed -e 's/\([A-Za-z]* Smith\)/\n\1/g'  names | sed '/Smith/!d'

以下是ui文件代码:http://pastebin.com/puRbD87m 另外,请告诉我具体错误的地方。

1 个答案:

答案 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()