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 ich

    LIBS += -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 -lkprint

    Include:

    #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?


Anmelden zum Antworten