PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : KDevelop und QT-Designer



Tyler Durden
05-05-2002, 23:03
Aloah... ich habe jetzt schon endlos-viele tutorials gewälzt und komme trotzdem nicht weiter...
Was ich machen möchte:
Einen schicken Starter für ein Spiel das mit wine ausgeführt wird...
Also, bisher kdevelop gestartet, und ein neues projekt erstellt...
dann ne qt-file erstellt und mit qt-designer bearbeitet (ein bild im hintergrund und 4 buttons)
Wenn ich dann das ganze kompiliere, nur um zu sehen ob er das layout "drin" hat kommt ein leeres fenster... also noch nix bearbeitet in kdevelop... aber von meinem layout keine spur...
Ich will nur folgendes machen:
Fensterchen, ein xpm als Hintergrund, darauf 4 buttons.
1. Button,
mount /cdrom
wine /wine/c/jk2/jk2sp.exe
nach dem ende
umount /cdrom
2. Button
mount /cdrom
xhost +127.0.0.1
su (gib mir root baby ;))
wine /wine/c/jk2/jk2mp.exe
nach dem ende
umount /cdrom
3. Button
öffne ne kleine about-box mit infos
4. Button
Quit

als konsolen-programm habe ich das schon alles realisiert... aber ich wollte mal was schickes grafisches ;)

Ich kriegs absolut nicht realisiert :(
Weiß jemand rat?

anda_skoa
06-05-2002, 07:35
Original geschrieben von Tyler Durden
dann ne qt-file erstellt und mit qt-designer bearbeitet (ein bild im hintergrund und 4 buttons)
Wenn ich dann das ganze kompiliere, nur um zu sehen ob er das layout "drin" hat kommt ein leeres fenster... also noch nix bearbeitet in kdevelop... aber von meinem layout keine spur...


Naja, wenn du noch nix bearbeitet hats, auch kein Wunder :)
Coding by thinking wurde noch nicht implementiert :p

KDevelop hat für dich eine Subklasse von QMainWindow angelegt (falls du ein Qt Porjekt gemcht hast, bei KDE ein KMainWindow).

Dort im Konstruktor kannst du dann dein Widget einbinden:

MyWigdet* myWidget = new MyWidget(this);

Dann mußt du noch die Signals der Buttons mit slots in deiner MainWindo Klasse connecten.

also etwa so:
QObject::connect(myWidget->button1, SIGNAL(clicked()), this, SLOT(slotButton1Clicked()));

wenn die Variable in MyWidget für den ersten Button button1 genannt wurde, und er slot im Header deines MainWindo als
void slotButton1Clicked() dekalreit wurde.

hth,
_

peschmae
06-05-2002, 15:31
auf jeden fall solltest du auch noch zuerst die .ui - datei mit trolltech's uic - Programm in c++ source + headers verwandeln!
(Vielleicht bringst du auch kdevelop dazu, das automatisch zu machen, keine Ahnung wie, ich verwende immer qmake und meinen lieblings-emacs zum programmieren)

mfg Peschmä