2011-12-13 25 views
5

Realmente estoy teniendo dificultades para conectar las ranuras de Python a Qt DesignerUI archivos. He pasado por todos los tutoriales que pude encontrar en PySide (ex: http://zetcode.com/gui/pysidetutorial/eventsandsignals/)Uso de los archivos QUiLoader y UI en PySide para crear dinámicamente la interfaz de usuario en tiempo de ejecución

Es bastante fácil cuando se configura la interfaz gráfica de usuario en el código, pero realmente me gustaría usar archivos de interfaz de usuario Qt Designer y.

Algunos otros hilos simplemente apunta a la utilización de pyuic para convertir .ui a .py archivos, pero si su posible me gustaría hacer esto en tiempo de ejecución.

Aquí está mi código hasta ahora. no tengo idea de cómo conectar el connectBtn a la Connect en el archivo de interfaz de usuario:

def initUI(self):  

    loader = QUiLoader() 
    file = QFile("designer_test.ui") 
    file.open(QFile.ReadOnly) 
    myWidget = loader.load(file, self) 
    #print(dir(myWidget)) 
    file.close() 

    layout = QtGui.QVBoxLayout() 
    layout.addWidget(myWidget) 
    self.setLayout(layout) 

    connectBtn = QtGui.QPushButton("Connect", self) 

    connectBtn.clicked.connect(self.connectClicked) 

    myWidget.setWindowTitle('Window') 
    myWidget.show() 

def connectClicked(self): 
    print("works") 

Respuesta

3

Ha comprobado esta página: Using a Designer UI File in Your Application

Es para C++, pero creo que los conceptos son los mismos que lo que estás tratando de hacer en Python.

De acuerdo con esa página, para obtener los widgets creados por el archivo Ui debe llamar a findChild().

También, this question.

0

He hecho este auto-connector para ayudarme con esto ... por favor échele un vistazo.

+0

Si bien este enlace puede responder a la pregunta, es mejor incluir las partes esenciales de la respuesta aquí y proporcionar el enlace de referencia. Las respuestas de solo enlace pueden dejar de ser válidas si la página vinculada cambia. – cpburnz

Cuestiones relacionadas