如何在pyside中打开一个新窗口

时间:2013-03-04 15:20:37

标签: python qt4 pyqt4 pyside

我是Python和pyside的初学者。我有一个.ui文件,我想在主窗口中单击按钮时将其作为第二个窗口打开。我使用了这段代码,但它关闭了主窗口,也许是因为“自我”。请帮帮我。

class PhoneBook:

   def __init__(self):
        loader = QUiLoader();       
        file = QFile("PhoneBook.ui");   
        file.open(QFile.ReadOnly);  
        self.ui = loader.load(file);    
        file.close();           
        self.ui.pushButton.clicked.connect(self.add);

  def __del__ ( self ):
        self.ui = None;

  def add(self):
        loader1 = QUiLoader();      
        file1 = QFile("Add.ui");    
        file1.open(QFile.ReadOnly); 
        self.ui = loader1.load(file1);  
        file1.close();          
        self.ui.show();

  def show(self):
        self.ui.show();

1 个答案:

答案 0 :(得分:0)

我也是诺布。关于如何进行对话,我认为您的观点是输入对话框,您要在其中输入该电话簿的数据。我找到的最简单的方法就是这样:

txtLabel = "Put some value into dialog"
inputText, ok = QInputDialog.getText(self, "Dialog Name", txtLabel)
if ok:
    print ".........."
    print inputText

...这是一些字符串输入(QInputDialog)的最简单对话框。如果你需要更高要求的对话(你迟早会这样),你应该使用QDialog基类。在这种情况下,你究竟想要投入什么,它看起来如何以及它的行为的一切。在PySide DOCS几乎所有事情都很好解释。