2016-12-20 9 views
-1

私はtkinterとpython3を一般に使い始めました。私はpygubuを使ってEntryウィジェットからの入力を受け取り、ボタンを押してMessageboxに表示する非常にシンプルなものを作っています。以下は、私が使用しているコードです:ここではttk.Entryの値を取得してメッセージボックスに表示する方法は?

# command_properties.py 
import tkinter as tk 
from tkinter import messagebox 
import pygubu 

# define the function callbacks 
def on_button1_click(): 
    tk_messageBox -message answer -type ok -icon info 

class MyApplication(pygubu.TkApplication): 

    def _create_ui(self): 
     #1: Create a builder 
     self.builder = builder = pygubu.Builder() 

     #2: Load an ui file 
     builder.add_from_file('test.ui') 

     #3: Create the widget using self.master as parent 
     self.mainwindow = builder.get_object('Frame_1', self.master) 

     # Configure callbacks 
     callbacks = { 
      'on_button1_clicked': on_button1_click 
     } 

     builder.connect_callbacks(callbacks) 


if __name__ == '__main__': 
    root = tk.Tk() 
    app = MyApplication(root) 
    app.run() 

は、UIファイルのコードです:私は特に間違っているところもhttp://pastebin.com/puRbD87m 、教えてください。

+0

self.entry_1.get() 

全例を使用して

self.entry_1 = self.builder.get_object('Entry_1', self.master) 

とアクセステキストを作成することができますこの仕事をしようとする。 'on_button1_click'関数を作成してから、もっと具体的な問題があるときに質問し、「どこに間違っているか教えてください。」と質問する必要があります。また、このサイトは他のサイトのコードにリンクすることを強く推奨していません。それが変わる可能性があり、そのサイトがダウンする可能性があり、将来この質問が役に立たなくなる可能性があります。 –

答えて

0

あなたがいずれかを行ったようには見えませんクラス内のメソッドとしてon_button1_click()を作成し、あなたが

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() 
+0

私はこれを試してみましたが、私は.uiファイルからEntryウィジェットだけを取得しました。 – ShadyThGod

+0

他の要素の使い方はわかりません。ドキュメンテーションはありません。それは4歳です。私はRADツールを使用していません。完全に制御できます。 – furas

関連する問題