按钮添加gui元素到exisitng

时间:2016-08-04 12:25:07

标签: python user-interface tkinter widget pmw

我有一个窗口,其中包含一些元素,如Label,ButtonBox等,从Pmw模块组中打包。我想制作这样的按钮,当点击它时,它将扩展窗口并在现有框架的底部OR中添加另一个元素(例如另一个Label)。问题是点击后没有任何反应。

以下是带窗口的代码

def __init__(self,
             page,
             groupname='myfirsttabdefault',
             defaultstructurename='',
             defaultchain=''
             ):

    group = Pmw.ScrolledFrame(page,
                              labelpos='nw',
                              label_text=groupname)
    self.groupname = groupname
    self.group = group

    group = Pmw.Group(page, tag_text = "Choose input file format")
    group.pack(fill='x', expand=1, padx=5, pady=5)
    prot_info = tk.Label(group.interior(), text='Single chain')
    prot_info.pack(padx=2, pady=2, expand='yes', fill='y')

    input_fileformat_buttons = Pmw.ButtonBox(group.interior(), padx=0)
    input_fileformat_buttons.add("original file", command=self.orig_button_click)
    input_fileformat_buttons.pack(fill='both', expand=1, padx=5, pady=1)

这是命令orig_button_click

的代码
def orig_button_click(self):
    protein_info = tk.Label(self.group.interior(), text='something')
    protein_info.pack(padx=2, pady=2, expand='yes', fill='y')

现在的问题是:如何编写一个按钮,单击该按钮会将此protein_info元素添加到现有窗口?

1 个答案:

答案 0 :(得分:0)

def orig_button_click(self):
    protein_info = tk.Label(self.group.interior(), text='something')
    protein_info.pack(padx=2, pady=2, expand='yes', fill='y')
    protein_info.bind("<Button-1>",self.Label_Click) #Bind the mouse click event. if you need only click label
def Label_Click(self):
    #Do stufff
    pass