1

我是 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();
4

1 回答 1

0

我也是菜鸟。关于如何制作对话,我认为您的观点是输入对话,您要在其中输入该电话簿的数据。我发现的最简单的方法是这样的:

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

...这是一些字符串输入的最简单对话框(QInputDialog)。如果你需要更苛刻的对话框(你迟早会的),你应该使用 QDialog 基类。在那种情况下,您到底想放入什么,它的外观以及有关它的行为的所有内容。在 PySide DOCS上,几乎所有内容都得到了很好的解释。

于 2013-03-12T19:24:02.180 回答