使用按钮进入另一个Glade GUI,使用其他的Glade GUI,然后获取第二个GUI输入框的文本。

2024-05-16 18:33:52 发布

您现在位置:Python中文网/ 问答频道 /正文

大家早上好,我和格莱德有麻烦了。我设法用一个按钮连接到另一个glade图形界面,但是我无法在第二个GUI的输入框中获得文本。我想处理程序是正确的,并且id已经定义好了。你能告诉我有什么问题吗?在

这是我的GUI

http://imgur.com/a/wQ73e

我知道通过做[var = builder.get_object("my_entry_id")][1],他什么也得不到。 我的错误是:

回溯(最近一次呼叫): 文件“/home/pi/Downloads/schedule-0.4.3/测试多.py“,第186行,应用中 state1=text_state1.get_text() AttributeError:“NoneType”对象没有属性“get_text”

这就是我所拥有的:

def portManager(button):
   print ("Button Port Manager pressed")
   builder = Gtk.Builder()
   builder.add_from_file("Port_Manager.glade")
   handlers = {
           "action_Apply":apply
   }


   builder.connect_signals(handlers)
   window = builder.get_object("windowPort")
   window.show_all()

   Gtk.main()

def apply(button):
    text_state1 = builder.get_object("state1")
    state1 = text_state1.get_text()
    print(state1) 
    print ("Port Aplied!")




#-----------------------------------------------------------------------------------------------------------------------------------------------------

# GUI (Graphical User Interface)
builder = Gtk.Builder()                                                                                                                                  # Creates GUI
builder.add_from_file("Wi_Green_Sheddule_v1.glade")                                                                                                      # Gets GUI   
handlers = {                                                                                                                                             # Associates GUI to functions Python                  
      "action_clear": clear,                                                                                                                             # Action of Button Clear defined      
      "action_start": action_start,                                                                                                                      # Action of Button Start defined   
      "save_hours": save_hours,                                                                                                                          # Action of Button Save defined      
      "delete_file": delete_file,                                                                                                                         # Action of Button Delete defined
      "portManager": portManager
   }

builder.connect_signals(handlers)                                                                                                                        # Connects GUI handlers to functions
window = builder.get_object("window")                                                                                                                    # Gets the inside of GUI         
window.show_all()                                                       

Gtk.main()
#-----------------------------------------------------------------------------------------------------------------------------------------------------

Tags: oftextgtkgetobjecthandlersbuildergui