Programmer GUI med integreret browser (inkl. javascript)
Vi laver hardware, men har brug for fornuftig og brugervenligt evauleringssoftware, så vores kunder kan konfigurere vores kredse.
Traditionelt har en af mine kollegaer programmeret noget Windows-gøjl i Visual Studio eller lign.
Det fungerer som udgangspunkt fint, men er alligevel overraskende følsomt overfor Microsofts updates. Så det hænder, at - som lyn fra en klar himmel - så vælter det ind med mails fra kinesiske kunder, der har fået en prop i produktionen pga. vores fejlramte software. Det er ikke godt!
Nåmen, jeg er nysgerrig efter om man kan lave det nemt i Linux/Open-source istedet, idet det som regel er lettere at debugge, hvis/når tingene falder sammen - i hvert fald for mig.
Softwaren består af to dele:
1) en "backend", der står for kommunikation med vores hardware over USB.
2) en "frontend", som fortolker en HTML-fil inkl. Javascript (som vi leverer med hvert produkt), hvor Javascript kommunikerer med "backenden", således at brugeren kan klikke rundt på den integrerede HTML-side og derigennem kommunikere med vores hardware.
Det er primært pkt 2, jeg er nervøs for. I VisualStudio kan man ret nemt integrere et vindue, der minder om en browser uden adresselinje. Findes noget tilsvarende mon i fx. Qt/GTK?
Traditionelt har en af mine kollegaer programmeret noget Windows-gøjl i Visual Studio eller lign.
Det fungerer som udgangspunkt fint, men er alligevel overraskende følsomt overfor Microsofts updates. Så det hænder, at - som lyn fra en klar himmel - så vælter det ind med mails fra kinesiske kunder, der har fået en prop i produktionen pga. vores fejlramte software. Det er ikke godt!
Nåmen, jeg er nysgerrig efter om man kan lave det nemt i Linux/Open-source istedet, idet det som regel er lettere at debugge, hvis/når tingene falder sammen - i hvert fald for mig.
Softwaren består af to dele:
1) en "backend", der står for kommunikation med vores hardware over USB.
2) en "frontend", som fortolker en HTML-fil inkl. Javascript (som vi leverer med hvert produkt), hvor Javascript kommunikerer med "backenden", således at brugeren kan klikke rundt på den integrerede HTML-side og derigennem kommunikere med vores hardware.
Det er primært pkt 2, jeg er nervøs for. I VisualStudio kan man ret nemt integrere et vindue, der minder om en browser uden adresselinje. Findes noget tilsvarende mon i fx. Qt/GTK?
Kommentarer17
Du kan i Java SWING godt
Det er primært pkt 2,
Det er primært pkt 2, jeg er nervøs for. I VisualStudio kan man ret nemt integrere et vindue, der minder om en browser uden adresselinje. Findes noget tilsvarende mon i fx. Qt/GTK?
Mozilla XUL er den oplagte muglighed.
QT kommer med alt inklusiv køkkenvasken mens GTK svjv er mere modulært(ie du ender med at embedde en browser). Og der er altid Java.
Lidt afhængigt af plaform har du også komplette IDE'er som eclipse, qdevelop og så videre. er.
QT og XUL er 110% krydsplatform GTK er linux native men findes porteret til windows.
Tak begge to,
Havde selv tænkt på Java, der ville være glimrende med sine kryds-platform-egenskaber. Omvendt så har Java på det seneste opbygget et ret dårligt 'brand' i branchen, så jeg er en lille smule beklemt ved at påtvinge kunden en Java-installation.
Jeg vil til en start kigge på Mozilla XUL - lyder tiltalende at det er krydsplatform.
Jeg vil anbefale Qt til
XUL har jeg aldrig hørt brugt i anden end Mozilla produkter.
#4 kost QT ikke penge til
#5
Det er længe siden. Qt
Det er længe siden. Qt er LGPL, så man kan sagtens lave lukkede/ufrie programmer.
#6 okay cool nok - Så kan
D'herrer,
Jeg kom lidt
Jeg kom lidt videre, og er endt med QT til formålet.
Mine erfaringer med C(++) er årgamle og ikke særligt omfangsrige, så jeg har brug for jeres hjælp igen.
Jeg ville forsøge mig med flg. eksempel http://qt-project.org/doc/qt-4.8/webkit-formextractor.html , men jeg er ikke gode venner med compileren (g++).
Jeg har installeret qtwebkit-devel. Jeg får flg. fejl, når jeg forsøger at kompilere. Nogen ideer til, hvordan jeg løser det?
$ g++ formextractor.cpp
In file included from formextractor.cpp:41:0:
formextractor.h:45:22: fatal error: QWebFrame: No such file or directory
compilation terminated.
Jeg kom lidt videre, men kun
$ gcc -I /usr/include/QtWebKit formextractor.cpp
In file included from formextractor.cpp:41:0:
formextractor.h:49:35: fatal error: ui_formextractor.h: No such file or directory
compilation terminated.
Den har helt ret: filen med navn ui_formextractor.h findes ikke. Mon eksempelfilerne er ufuldstændige/ikke-opdaterede? Eller har I forslag til hvordan jeg kommer videre?
#9
Du kan ikke bygge
Du kan ikke bygge Qt-programmer på den måde.
Qt bruger noget meta programmering, som først skal oversættes til normal C++.
"ui_formextractor.h" er nok en autogenereret fil.
Det nemmeste er enten at bruge qmake som er Qt's indbyggede projekt værktøj.
http://qt-project.org/doc/qt-4.8/qmake-tutorial.html
Eller at du bruger cmake (som er det bl.a. KDE bruger)
http://qt-project.org/quarterly/view/using_cmake_to_build_qt_projects
Hvis du henter alle filerne
qmake && make
Så bør det virke.
@m_abs,
Bingo!, med qmake
Bingo!, med qmake så kører det.
Der manglede en form.html, så deres eksempel er ikke helt self-contained. Men den er ikke så svær at lave selv. Derudover er den overraskende krakilsk med indledende mellemrum i ui-XML-filerne :)
Tak for hjælpen - det havde nok taget nogle uger selv at komme til den konklusion :)
Ved godt, at du har
Måske godt til at få opfrisket c++ og i forhold til Qt
Se evt: http://www.youtube.com/playlist?list=PL2D1942A4688E9D63
QtCreator
Lækkert program :)
Er QtCreator
Er QtCreator cross-platform? Jeg leder efter et udviklingsmiljø som tillader mig at programmere til både Linux, Windows og Mac.
#15Ja.
Ja.
https://qt-project.org/downloads
I allerhøjeste grad.
I allerhøjeste grad. Vi udvikler til både Linux og Windows uden problemer. Jeg har dog ikke erfaring med Mac, men mon ikke det fungerer, lige så godt som resten? :)