【发布时间】:2012-05-23 10:27:36
【问题描述】:
我正在使用 TkInter 创建一些对话框,并且需要能够在单击父级中的按钮时打开子子窗口(模态或非模态)。然后,子窗口将允许创建数据记录,并且需要将该数据(记录或操作已取消)传回父窗口。到目前为止,我有:
import sel_company_dlg
from Tkinter import Tk
def main():
root = Tk()
myCmp = sel_company_dlg.SelCompanyDlg(root)
root.mainloop()
if __name__ == '__main__':
main()
这将调用允许用户选择公司的顶级对话框。公司选择对话框如下所示:
class SelCompanyDlg(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent_ = parent
self.frame_ = Frame( self.parent_ )
// .. more init stuff ..
self.btNew_ = Button( self.frame_, text="New ...", command=self.onNew )
def onNew(self):
root = Toplevel()
myCmp = company_dlg.CompanyDlg(root)
点击新建...按钮后,会显示一个创建公司对话框,允许用户填写公司详细信息并单击创建或取消。这是开头的部分:
class CompanyDlg(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
// etc.
我正在努力寻找在onNew() 中调用子对话框的最佳方式 - 我有什么工作但我不相信这是最好的方法,而且我看不出如何与和来自子对话框。
我尝试查看在线教程/参考资料,但我发现要么过于简单,要么专注于 tkMessageBox.showinfo() 之类的东西,这不是我想要的。
【问题讨论】: