PyQt4: Erstellen Sie ein benutzerdefiniertes Dialogfeld, das Parameter zurückgibt

8

Ich versuche, meiner aktuellen GUI ein benutzerdefiniertes Dialogfeld hinzuzufügen, das gestartet werden kann, damit der Benutzer einige Parameter festlegen kann. Im Idealfall möchte ich den benutzerdefinierten Dialog mit QtDesigner erstellen. Unten ist der Code, der von pyuic4 aus dem QtDesigner-UI-Code für das Dialogfeld generiert wird.

%Vor%

Dies wird in Sub2.py gespeichert Dann füge ich in meiner Haupt-Python-Datei

hinzu %Vor%

Ich erstelle eine neue Klasse namens StartSub2 mit dem folgenden Code

%Vor%

Dann endlich in meiner Haupt-GUI gibt es eine Funktion mit dem folgenden Code, der den Dialog

starten sollte %Vor%

Bitte beachten Sie, dass der Dialog nicht abgeschlossen ist. Sobald ich mir überlege, wie ich es überhaupt starten soll, werde ich Signal / Slot-Verbindungen für den Schieberegler und das Bearbeitungsfeld hinzufügen. Wenn ich es richtig verstanden habe, muss ich die Methode accept() überladen, um die Eingabe des Benutzers zurückzugeben.

Das erste Problem, auf das ich gestoßen bin, ist die Methode __init__ von StartSub2 . Ich erhalte den folgenden Fehler:

%Vor%

Ich versuche den gleichen Ansatz wie die Haupt-GUI zu verwenden, der den folgenden Code verwendet:

%Vor%

Aber das beschwert sich nicht, dass setupUi() eine StartQT4 -Instanz erhält anstatt einer Ui_MainWindow -Instanz. Kann jemand den richtigen Weg erklären, um das zu erreichen, was ich versuche? Oder kann mich jemand auf ein klares Beispiel oder eine Referenz hinweisen? Bitte lassen Sie mich wissen, wenn Sie weitere Informationen oder Erläuterungen benötigen.

    
Thomas 22.04.2011, 22:20
quelle

1 Antwort

17
%Vor%

sollte das erste Problem lösen, dass der Dialog initialisiert wird.

Um Informationen zurückzubekommen, füge ich normalerweise eine Methode namens getValues zu StartSub2 hinzu, d. h.

%Vor%

tue es dann

%Vor%     
Whatang 22.04.2011, 22:51
quelle

Tags und Links