Ein paar Fragen...

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
macmallow
User
Beiträge: 14
Registriert: Dienstag 12. Mai 2009, 17:31

Dienstag 12. Mai 2009, 19:46

hallo ich habe gerade angefangen ich mit pyqt zu befassen, und habe ein paar Fragen:

1) wie kann ich ein rahmenloses Fenster erstellen ? Also ohne den Schließen & Minimieren Button!

2) Was genau ist QFrame?

3) Wo ist der Unterschied zwischen QWidget und QMainWindow? Kann doch mit beiden Fenster erstellen so wie ich das mitgekriegt habe ?

Danke schonmal! Hab vorher nur mit wxpython gespielt, und daher ist qt etwas neu für mich...
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Dienstag 12. Mai 2009, 19:57

QWidget ist ein allgemeines Widget, von dem viele andere Klassen ableiten (siehe Doku). QMainWindow ist (der Name verrät es ja schon) dazu, das Hauptfenster einer Applikation darzustellen. Daher kann man mit diesem u.a. eine Menübar, eine Statusleiste und DockWidgets hinzufügen.
macmallow
User
Beiträge: 14
Registriert: Dienstag 12. Mai 2009, 17:31

Dienstag 12. Mai 2009, 20:11

Aha Danke :) .. Hast du noch eine Idee wegen 1) ? Ist mir sehr wichtig, weil ich eine Anwendung von wxpython auf qt portieren will!
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Dienstag 12. Mai 2009, 20:24

Erstelle einen QDialog, der modal ist (damit er nicht geschlossen werden kann). QFrame ist dazu da, Widgets einen Rahmen zu geben.
macmallow
User
Beiträge: 14
Registriert: Dienstag 12. Mai 2009, 17:31

Dienstag 12. Mai 2009, 20:27

Hmm aber dadurch verschwindet der Rahmen doch auch nicht ? Will als Endergebniss nichts mehr vom Fenster sehen, sondern nur noch die TextBox für eine Eingabe!
BlackJack

Dienstag 12. Mai 2009, 20:45

Für so etwas gibt's flags: http://docs.huihoo.com/pyqt/pyqt4/html/ ... wType-enum

Für Dich wäre wohl `Qt.FramelessWindowHint` interessant. Allerdings ist das wie der Name schon sagt nur ein Hinweis. Ein Windowmanager *muss* dem nicht nachkommen.
macmallow
User
Beiträge: 14
Registriert: Dienstag 12. Mai 2009, 17:31

Dienstag 12. Mai 2009, 21:06

Das wirds wohl sein ;) .. Und wie kann ich das setzen?
macmallow
User
Beiträge: 14
Registriert: Dienstag 12. Mai 2009, 17:31

Mittwoch 13. Mai 2009, 17:52

Danke :) .. Gibts eig. noch die Möglichkeit, die WingIDE (oder jede andere IDE die ich probiert habe) so einzurichten, dass ich einnützliches AutoComplete habe? IM mOment werden mir nur Funktionsnamen, alllerdings ohne Parameter angeboten und Konstanten wie Qt.FramelessWindowHint werden mir gar nicht vorgeschlagen..

Bins von C++ und Java schon ziemlich gewöhnt, und es wäre schade wenn das nicht geht!
DasIch
User
Beiträge: 2480
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Mittwoch 13. Mai 2009, 18:57

Diese Features wird dir eine IDE für dynamische Sprachen nicht unbedingt bieten können.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Mittwoch 13. Mai 2009, 22:31

macmallow hat geschrieben:Bins von C++ und Java schon ziemlich gewöhnt, und es wäre schade wenn das nicht geht!
Das sind ja auch beides Sprachen in denen das Typsystem statisch ist und somit auswertbar ohne das Programm selbst auszuführen.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
macmallow
User
Beiträge: 14
Registriert: Dienstag 12. Mai 2009, 17:31

Mittwoch 13. Mai 2009, 22:37

Schon klar, aber die Parameter einer Funktion werden ja auch bei Python definiert ;-) .. Und die Konstanten (QFramelessWindowHint) werden mir ebenfalls nicht angezeigt.
lunar

Mittwoch 13. Mai 2009, 22:49

Die Definition einer Funktion ist in Python nicht das gleiche wie in C++ oder Java. Funktionen sind in Python Objekte wie alles andere auch und können daher an beliebige Namen gebunden werden, ebenso wie an den Namen einer Funktion ein beliebiges anderes Objekt gebunden werden kann. In C++ und Java sind Funktionen/Methoden dagegen statisch und daher leicht zu analysieren.

Bis zu einem gewissen Grad funktioniert Vervollständigung auch für Python. Dem Hörensagen nach sollen Eclipse/PyDev (kostenlos) und WingIDE (nicht kostenlos) in dieser Hinsicht recht brauchbar sein. Wunder solltest du allerdings nicht erwarten, die Vervollständigung mag mitunter an Situationen scheitern, die für einen Menschen völlig klar sind.
Antworten