KDE-DruckerDialog in eigene QT-Applikation einbinden
-
Hallo zusammen,
ich arbeite an einer QT-Applikation, die im Full-Screen-Modus
von einer Live-CD (Knoppix) bootet. Aus der Anwendung heraus
soll eine Druckerkonfiguration möglich sein, ohne dass ein
Window-Manager aufgerufen wird. Diesbezüglich möchte ich den
KDE-Drucker-Dialog, wie er im KDE-Kontrollzentrum zu finden ist
auf einen WidgetStack ablegen. Das Ablegen auf dem Stack sollte
nicht das Problem darstellen, allerdings suche ich nach einer
Möglichkeit, eine eigene Klasse von diesem Dialog abzuleiten.Wie muss ich Linker-Optionen und includes anpassen?
-
Schau dir am besten mal die kdelibs an.
-
Das Problem sind ja garnicht unbedingt die KDE-Libs. Da kann ich mich ja noch durchprobieren welche Klasse es im endeffekt ist (vermute einfach kprinter).
Was nicht funktioniert ist das Linken in einem QMake-Projekt.
Sobald ichLIBS += -lkprint
in die Projektdatei einfüge kompilliert das Projekt nicht mehr und ich
bekomme die Fehlermeldung: "Beendet mit Status 2"
-
Er scheint es jetzt zu akzeptieren. Keine Ahnung warum nicht vorher. Allerdings klappen nach wie vor die includes nicht.
Auszug aus *.pro-Datei:
LIBS += -lopenhbci2 \
-laqmoney -lkcore -lkprintInclude:
#include <kdeprint/kmmainview.h>
Fehlermeldung:
*guiprinterconfig.h:24:33: kdeprint/kmmainview.h: Datei oder Verzeichnis nicht gefunden
/usr/include/openhbci2/pointer.h:195: warning: unused parameter `voidp'
**** Beendet mit Status: 2 ***
-
Was möchtest du eigentlich genau erreichen? Soll das Drucksystem konfiguriert werden, oder soll nur etwas gedruckt werden und du möchtest einen Druckerauswahldialog haben, wie man es von KDE kennt?
-
Also eine Druckfunktionalität habe ich bereits implementiert. Drucken tut das Programm. Aber wie gesagt: Die Anwendung startet in einer Fullscreen-Umgebung von einer Live-CD. Deshalb muss es möglich sein den Drucker darin zu konfigurieren, sprich Druckertyp in einer Liste auswählen.
Da es einen solchen Druckerkonfigurationsdialog unter KDE ja schon gibt (Anwendung läuft unter ICEWM, aber KDE ist installiert), wäre es nicht schlecht, wenn ich diesen aus dem Programm heraus aufrufen könnte. Noch besser wäre allerdings ihn auf den existierenden Widget-Stack zu schieben, wie das
im KDE-Kontrollzentrum der Fall ist.Der Dialog den ich meine kann mit "kcmshell printmgr" gestartet werden.
Das ist das Konfigurationstool was unter Knoppix auch standardmäßig genommen wird.Wenns gute Alternativen gibt bin ich dafür natürlich offen. Es reicht absolut wenn es möglich ist aus dem Programm heraus nur einen Drucker einzurichten.
-
Den Dialog im Fenstermodus starten habe ich übrigens mit
QProcess *process = new QProcess(this);
process->addArgument("kcmshell");
process->addArgument("printmgr");
process->start();geschafft. Also bitte keine Hinweise wie das geht
Mich interessiert in erster Linie wie ich das auf
den Stack kriege.
-
Warum schaust Du nicht, wie kcontrol das macht?