[Failed] QT4 Modul
Übersicht

![]() |
BtbNBetreff: [Failed] QT4 Modul |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab mich mal an das recht gigantische vorhaben gewagt, die größten und wichtigsten Teile der OpenSource-Version von QT4 nach BMax zu portieren.
Da QT eine recht gigantische bibliothek ist, wird das ganze recht viel Zeit in anspruch nehmen, und ist noch lange nicht fertig. Ich werde nach und nach immer mehr funktionen und klassen der Lib zur verfügung stellen. Jeden tag kommen einige funktionen hinzu. Da ich zu faul bin, andauernd ein neues Archiv hochzuladen, wird es das ganze vorerst ausschließlich als SVN-Repository geben, welches unter folgender addresse zu erreichen ist: svn://btbn.de/maxqt4 um es abzurufen, wechselt man ins *BmaxDir*/mod/btbn.mod Verzeichnis, und führt den folgenden befehl aus: Code: [AUSKLAPPEN] svn co svn://btbn.de/maxqt4 .
Der . am Ende ist wichtig, sonst packt er das ganze in ein weiteres unterverzeichnis. So ist es zumindest auf Linux und vermutlich auch MacOs. Wie das auf Windows funktioniert, weiß ich nicht. Einfach mal google befragen. Um das Modul zu kompilieren, müssen eventuell die Include und Library-Pfade angepasst werden. Dazu editiert man auf Linux und mac die module.cmd.linux datei(Oben sind 2 Variablen für die Pfade), und führt sie danach aus. Auf Windows muss man aktuell das wrapper_imports.bmx file manuell importieren. Allerding werden auf Windows die Libs statisch eingelinkt(Danke dafür an YR). Fals ich was vergessen haben sollte/etwas nicht funktioniert/unklar ist, bitte melden. Feedback und Kritik ist ausdrücklich erwünscht! Zum abschluss noch ein Beispiel: Code: [AUSKLAPPEN] SuperStrict
Framework BtbN.QT4 Global app:QApplication = New QApplication Global mainTabber:QTabWidget = (New QTabWidget).Init() mainTabber.SetTabChFunc(fnc3) Global cont1:QWidget = (New QWidget).Init() Global btn:QPushButton = (New QPushButton).Init("Ab ins Label!",cont1) btn.SetOnClick(fnc) Global txt:QTextEdit = (New QTextEdit).Init("Test-Text!",cont1) Global lab:QLabel = (New QLabel).Init("Noch nichts da...",cont1) Global layo:QBoxLayout = (New QBoxLayout).Init(QT_TOP_TO_BOTTOM,cont1) layo.AddWidget(txt) layo.AddWidget(btn) layo.AddWidget(lab) cont1.SetLayout(layo) Global cont2:QWidget = (New QWidget).Init() Global btn2:QPushButton = (New QPushButton).Init("Inc",cont2) btn2.SetOnClick(fnc2) Global bar:QProgressBar = (New QProgressBar).Init(cont2) bar.SetRange(0,100) Global layo2:QBoxLayout = (New QBoxLayout).Init(QT_LEFT_TO_RIGHT,cont2) layo2.AddWidget(btn2) layo2.AddWidget(bar,2) cont2.SetLayout(layo2) mainTabber.AddTab(cont1,"Labels, TextEdits and buttons") mainTabber.AddTab(cont2,"ProgressBars") mainTabber.Show() app.exec() End Function fnc() lab.SetText(txt.toPlainText()) EndFunction Function fnc2() Global pos:Int pos :+ 1 bar.setValue(pos) EndFunction Function fnc3(index:Int) WriteStdOut("Tab changed to index: "+index+"~n") EndFunction ///EDIT/// Hab das ding abgeblasen, BMax fehlen zu viele Features, auf denen Qt4 aufbaut(Generische Klassen, ein Precompiler, die fähigkeit C++-Klassen direkt zu erben,...). Es ist zwar möglich, vereinzelt sachen einzubauen, aber es würde den aufwand nicht lohnen. Wenn sich jemand die Arbeit weitermachen will, bitte. Das ding steht unter der GPL. |
||
- Zuletzt bearbeitet von BtbN am Mi, März 21, 2007 16:06, insgesamt einmal bearbeitet
![]() |
Ratchet |
![]() Antworten mit Zitat ![]() |
---|---|---|
Seid der Beta wollte ich schon mit BM Qt Anwendungen entwickeln. Ich bin auf jeden Fall sehr interessiert, habe aber momentan leider keine Zeit mich damit zu beschäftigen. Wäre aber echt super wenn du das hinbekommst. Ich werde das Ganze aufmerksam verfolgen.
Viel Erfolg; bei der Menge Features die Qt bietet wirst du einige Zeit zu tun haben ![]() EDIT: Sehr schön finde ich wie du es gelöst hast die Events der Widgets mit BM zu verbinden. Ich hasse dieses EventID System wie es in MaxGUI gemacht ist. |
||
[iMac 27"] [3,4GHz Intel Core i5 ] [8GB Ram] [NVIDIA GeForce GTX 775M 2GB] [MacOS X Yosemite] [BlitzMax + MaxGui] [Monkey X Pro] |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
siehe edit im 1. Post, das ding ist fehgeschlagen. | ||
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich benutze TortoiseSVN (Windows) und bei mit meint er immer, ich müsste einen Benutzernamen und ein Passwort angeben.
EDIT: Dann hat sich das wohl erledigt. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group