[linux] grafisch programmeren*

Pagina: 1
Acties:
  • 103 views sinds 30-01-2008
  • Reageer

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 01-02 09:13
Ik wil grafisch gaan programmeren in een linux omgeving. En dan vooral C++. Nu weet ik relatief weinig van linux.
Ik weet namelijk niet hoe het zit met X. IS het zo alle alle grafische programma's met elke desktop environment (gnome, kde, cde, etc.) werken?

En zijn er ontwikkeltools hiervoor? Ik ben bekend met de naam Qt. Hier moet ik me nog inlezen, maar zijn er ook andere?

Verdere tutorials ed zullen vast wel te vinden zijn zodra ik wat namen alla Qt heb.

if broken it is, fix it you should


  • Wbdsgnr
  • Registratie: Maart 2002
  • Laatst online: 17-01 14:34

Wbdsgnr

Discombobulated?

GTK en QT zijn toch wel de mainstream... verder heb je geloof ik ook nog tck oid..

  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

gtk++ & QT zijn wel de meest gebruikte als het op c++ aankomt denk ik :)

Maar je hebt wel libs nodig om een programma die ermee gemaakt zijn te kunnen gebruiken maar in 99% van de gevallen heeft iemand die X gebruikt ook wel beide erop staan :)

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • Mayco
  • Registratie: Augustus 2002
  • Laatst online: 02-02 18:49
je kan dus kiezen uit qt en gtk, als je je voornamelijk richt op kde gebruikers, dan neem je best qt, als je je richt op gnome gebruikers, neem dan gtk... ze werken echter wel op beide omgevingen, dus kde programma's zijn wel te draaien in gnome...

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

tools:

kdevelop ?
eclipse ?


mja je kunt ook java progsels maken, dan heb je altijd dezeflde libs :)

Zaram module kopen voor je glasvezelaansluiting?


  • 0xDEADBEEF
  • Registratie: December 2003
  • Niet online
wxPython ?
wxPython is a cross-platform toolkit. This means that the same program will run on multiple platforms without modification. Currently supported platforms are 32-bit Microsoft Windows, most Unix or unix-like systems, and Macintosh OS X.

"Religion is an insult to human dignity. With or without it you would have good people doing good things and evil people doing evil things. But for good people to do evil things, that takes religion." - Steven Weinberg


  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Als je je richt op KDE-gebruikers kan je beter KDE developen (wat weer gebouwd is op Qt ja), omdat de KDE bibliotheken veel standaard KDE-specifieke zaken bieden (al dan niet gebruikmakend van Qt), terwijl Qt an sich een relatief kale toolkit is.

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 01-02 09:13
Qt das toch geen freeware? en GTK++ wel. Dus zou ik persoonlijk voor GTK++ gaan. Ik weet niet wat makkelijker is (lees, sneller aan te leren)

Java is overigens geen optie. Ik heb open source drivers in C++, voor camera en webcam. Verder moet ik java wel gaan gebruiken voor image analyse, maar dat doe ik wel met JVM

if broken it is, fix it you should


Verwijderd

Is het niet zo dat als je van GPL libs gebruik maakt je programma ook GPL moet zijn? Dat zou een heuse belemmering zijn, lijkt mij.

  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Volgens mij is dat een Python variant, en de topicstarter vraagt om c++ ;)
Verwijderd schreef op woensdag 16 november 2005 @ 17:08:
Is het niet zo dat als je van GPL libs gebruik maakt je programma ook GPL moet zijn? Dat zou een heuse belemmering zijn, lijkt mij.
Ligt eraan, GNU Lesser General Public License heeft dat probleem niet, en vaak zijn libs ook lgpled

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Niet zomaar onzin roepen he. Qt is multi-licensed, waaronder GPL.

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 08-02 12:49

Robtimus

me Robtimus no like you

Voor GTK heb je Glade
Zelf mee gewerkt, werkt best prettig maar je moet wel een beetje de layout snappen.

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • 0xDEADBEEF
  • Registratie: December 2003
  • Niet online
moto-moi schreef op woensdag 16 november 2005 @ 17:11:
[...]

Volgens mij is dat een Python variant, en de topicstarter vraagt om c++ ;)
[...]

Ligt eraan, GNU Lesser General Public License heeft dat probleem niet, en vaak zijn libs ook lgpled
offtopic:
Staat niet in de titel en de topicstart [q]En dan vooral C++[/] :>

"Religion is an insult to human dignity. With or without it you would have good people doing good things and evil people doing evil things. But for good people to do evil things, that takes religion." - Steven Weinberg


  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 11:07
GTK+ en GTK-- is LGPL, daar mag je gewoon tegen linken, zolang je maar niet C&P van code doet uit die libs zonder je eigen prog ook (L)GPL te maken.

QT is echter dual licensed: of je gaat vrijuit en je programma wordt volledig GPL, of je gaat voor een commerciele license en je mag doen wat je zelf wilt.

Zelf heb ik het een en ander aan GTK-- zitten prutsen, maar ik vind het persoonlijk niet super lekker programmeren. Ik denk dat je in een ontwikkelomgeving als kdevelop en Qt je veel beter uit de voeten kunt. Daarnaast: Qt hoeft niet meteen te betekenen dat je je volledig op KDE richt, die programma's draaien ook prima op andere desktops, neem maar eens een kijkje naar Opera, ook zo'n geweldig Qt produkt.

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 01-02 09:13
_JGC_ schreef op donderdag 17 november 2005 @ 00:14:
GTK+ en GTK-- is LGPL, daar mag je gewoon tegen linken, zolang je maar niet C&P van code doet uit die libs zonder je eigen prog ook (L)GPL te maken.

..
Wat betekend deze zin? Wat is C&P?

if broken it is, fix it you should


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
elgringo schreef op maandag 21 november 2005 @ 18:56:
[...]


Wat betekend deze zin? Wat is C&P?
Copy en Paste 8)7

[ Voor 88% gewijzigd door RobIII op 21-11-2005 18:59 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • zomertje
  • Registratie: Januari 2000
  • Laatst online: 03-02 16:28

zomertje

Barisax knorretje

Ik heb even de typo uit je titel gehaald :)

het ultieme jaargetijde.... | #!/usr/bin/girl | Art prints and fun


  • Wilke
  • Registratie: December 2000
  • Laatst online: 08-02 22:25
Qt met Qt designer werkt erg fijn als je in C++ programmeert (en probeer dan KDevelop of Kate, als je niet zo van IDE's houd). De documentatie is vooral erg goed, zie hier. Ik ben niet geheel onbevooroordeeld, aangezien ik er redelijk wat mee geprogrammeerd heb. Maar vaak hoor je dan ook juist de slechte verhalen erover, en ik moet zeggen dat ik Qt gewoon erg goed in elkaar vind zitten qua object-structuur en alles.

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 01-02 09:13
Ik heb me nu op QT gestort en QT designer ziet er leuk uit. Ik krijg het alleen niet voor elkaar om te compilen en er een executable mee te maken.

Ik was dus op zoek naar een tutorial qt designer, op de qt website vind ik er veel maar niet precies wat ik zoek.

Boeken over qt heb ik wel, maar deze gaan van een text based situatie uit. En qt designer is juist een grafische omgeving....

if broken it is, fix it you should


  • durian
  • Registratie: Mei 2005
  • Laatst online: 06:22
elgringo schreef op woensdag 16 november 2005 @ 16:13:
Ik wil grafisch gaan programmeren in een linux omgeving. En dan vooral C++. Nu weet ik relatief weinig van linux.
Ik weet namelijk niet hoe het zit met X. IS het zo alle alle grafische programma's met elke desktop environment (gnome, kde, cde, etc.) werken?

En zijn er ontwikkeltools hiervoor? Ik ben bekend met de naam Qt. Hier moet ik me nog inlezen, maar zijn er ook andere?

Verdere tutorials ed zullen vast wel te vinden zijn zodra ik wat namen alla Qt heb.
Kijk ook eens naar wxWindows - crossplatform GUI toolkit.

-peter

  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

Gisteren toevallig even aan het klooien geweest met Glade (GTK+ GUI designer) en Anjuta (C/C++ IDE). Deze twee integreren aardig en zorgen ervoor dat je met een paar klikjes een hele GNOME app kan maken met alle toeters en bellen.

Dit werkt allemaal out-of-the-box, daarna wordt het lastiger natuurlijk en moet je al goed thuis zijn in C en de GTK+ lib.

Maar goed, je bent nu al met QT bezig. :)

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 01-02 09:13
Ik heb voor QT gekozen omdat de UT met KDE werkt, beide ken ik totaal niet en beide hebben leuke tools. Enige pro voor QT was is dat deze meer op C++ gebaseerd is, en GTK++ wat meer op C.

Uiteindelijk zal het allemaal weinig uitmaken.

Ik wil alleen nog wel hoe ik iets design met QT en dat compileer tot een werkend proggie

if broken it is, fix it you should


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 06:19

Gerco

Professional Newbie

elgringo schreef op vrijdag 25 november 2005 @ 12:04:
Ik wil alleen nog wel hoe ik iets design met QT en dat compileer tot een werkend proggie
Qt designer is geen IDE, het spuugt alleen een .h en .cpp file uit. Deze kun je met g++ compileren tot een binary op de volgende manier.

code:
1
2
3
gerco@gentoo ~/development/cpp/gotbot/src $ qmake -project
gerco@gentoo ~/development/cpp/gotbot/src $ qmake
gerco@gentoo ~/development/cpp/gotbot/src $ make


De sources die ik hier compileer kun je overigens ophalen op mijn subversion repository, dan kun je het zelf proberen. Vergeet niet om de .pro en de Makefile weg te smijten voor je een nieuwe genereert. Je hebt genoeg aan alleen de "src" directory, de rest wordt door KDevelop gegenereerd en is niet strikt noodzakelijk voor het compileren ervan.

Als je files toevoegt aan het project moet je de .pro en de Makefile opnieuw genereren. Je kan ook qmake helemaal niet gebruiken en autotools inzetten, maar ik heb geen flauw idee hoe die werken en dit vond ik wel makkelijk gaan.

Overigens vond ik deze Qt Tutorial erg waardevol. Hij staat ook in de helpfiles van Qt zelf (Qt assistant, opstarten met "assistant" in een shell).

[ Voor 48% gewijzigd door Gerco op 25-11-2005 12:20 ]

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 01-02 09:13
Ik heb alleen een form1.ui & een form1.ui.h

In die header staat ook source code :? Ik mis dus de cpp file
Verder heb ik geen .pro files

if broken it is, fix it you should


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 06:19

Gerco

Professional Newbie

.pro files maak je aan met "qmake -project" in je source directory. Vervolgens "qmake" en daarna "make".

De .ui file is alleen een XML beschrijving van je UI en is dus geen sourcecode. De uic (User Interface Compiler) maakt van je .ui file een cpp file en de moc (Meta Object Compiler) maakt daar dan een moc_ file bij. Die moc_ files zijn nodig om de signals en slots structuur van Qt te laten werken, maar daar weet ik het fijne niet van. Dat hoeft gelukkig ook niet, want die files worden automatisch gegenereerd en geupdate.

Nadat je "make" hebt gedaan gaat alles aan het werk (de uic, vervolgens de moc en dan g++) en krijg je een executable die dezelfde naam heeft als je source directory.

Kijk die Qt tutorial eens door, als het goed is staan daar ook build instrukties bij, beter dan ik ze zo even kan opschrijven.
Compiling

To compile a C++ application you need to create a makefile. The easiest way to create a makefile for Qt is to use the qmake build tool supplied with Qt. If you've saved main.cpp in its own directory, all you have to do is:

qmake -project
qmake

The first command tells qmake to create a .pro (project) file. The second command tells it to create a (platform-specific) makefile based on the project file. You should now be able to type make (or nmake if you're using Visual Studio) and then run your first Qt application!
Die tutorial gaat niet per-se over de designer, maar vooral over Qt zelf en hoe dat werkt. Die designer is alleen een hulpmiddel voor wanneer je al begrijpt hoe Qt werkt. C++/Qt is geen Visual-Basic achtige taal/omgeving en zonder begrip van de onderliggende structuur zul je met die designer dus niet ver komen.

[ Voor 89% gewijzigd door Gerco op 25-11-2005 23:22 ]

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 01-02 09:13
Compilen ed werkt.

Ik wil nu een private variabelen erin zetten, en volgens qt moet alles via de qt designer gedaan worden maar daar kan ik niets vinden.

Als ik het hoofdform selecteer en bij object explorer, onder memeber class variabeles een aanmaak gebeurd er niets. Verder kan ik hier ook niet zeggen wat voor type het is. Ik weet niet of ik op de goede locatie aan het kijken ben, maar weet iemand hoe je deze wel kan aanmaken?

EDIT:
en ik heb nu een checkbox en hiervan wil ik uitlezen of ie aan of uitgevinkt staat. Ik kan alleen methodes vinden om hem te veranderen, kan ik hem ook uitlezen?

[ Voor 17% gewijzigd door elgringo op 30-11-2005 16:32 ]

if broken it is, fix it you should


  • Wilke
  • Registratie: December 2000
  • Laatst online: 08-02 22:25
Natuurlijk: http://doc.trolltech.com/4.0/qcheckbox.html#checkState

Er zitten trouwens best uitgebreide voorbeelden bij Qt en er is ook een tutorial. Begin daar eens mee zou ik zeggen, en begin desnoods eerst met het verbouwen van een voorbeeld i.p.v. een project 'from scratch' :)

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 01-02 09:13
Wilke schreef op woensdag 30 november 2005 @ 16:40:
Natuurlijk: http://doc.trolltech.com/4.0/qcheckbox.html#checkState

Er zitten trouwens best uitgebreide voorbeelden bij Qt en er is ook een tutorial. Begin daar eens mee zou ik zeggen, en begin desnoods eerst met het verbouwen van een voorbeeld i.p.v. een project 'from scratch' :)
Die had ik net ook gevonden. De gehele API.
Maar het lukt me nog steeds niet op een private variable aan te maken.

EDIT: Ik kom er ook achter dat ik geen string kan gebruiken. Ik heb boven aan de impl. van het form gezet:
C++:
1
#include <string>


vervolgens in een methode als je op een knopje klikt:
C++:
1
2
    string x= "t";
   lineEdit3->setText(x);


en de compiler geeft terug
elaygui.ui.h:63: error: 'class relaygui' has no member named 'string'
relaygui.ui.h:63: error: parse error before `=' token
relaygui.ui.h:64: error: no matching function for call to `QLineEdit::setText(
<unknown type>)'
/usr/include/qt3/qlineedit.h:147: error: candidates are: virtual void
QLineEdit::setText(const QString&)
Moet ik met QStrings gaan werken ? of heb ik iets anders fout gedaan?
Verder heb ik geprobeert <string.h> te includen maar ook dat mocht niet baten.

In mijn C++ Primer boek staat dat het zo moet.

[ Voor 47% gewijzigd door elgringo op 01-12-2005 11:20 ]

if broken it is, fix it you should


  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 01-02 09:13
Qt werkt prima, en ik kan er aardig mee overwg. Alleen wil ik gaan printer en dan loopt het vast.

Ik wil een lap text met een paar plaatjes printer. Ik denk dat ik wel weet hoe de text werkt, maar hoe krijg je er plaatjes op?

het zijn standaard bmp/jpg plaatjes. Ik heb wel enkele voorbeelden gevonden (http://doc.trolltech.com/3.0/qprinter.html ) maar snap niet hoe dit werkt.

Heeft iemand misschien een beter voorbeeld?

if broken it is, fix it you should

Pagina: 1