qt4: zeichenfehler -- kann das wer verifizieren?

Alles rund um die Programmierung mit Qt
Antworten
arne.anka
Beiträge: 32
Registriert: 28. Dezember 2005 14:06

qt4: zeichenfehler -- kann das wer verifizieren?

Beitrag von arne.anka »

vorweg: ich will in einem qworkspace windows (widgets) ohne decoration (frame, titelzeile) haben.
wenn ich untenstehendes programm ausführe, bin ich schon dicht dran -- allerdings hat der button noch unten und an den seiten eine schmale graue linie, die ich um's ver* nicht wegbekomme!
bin ich da auf einen bug gestossen?
sieht das unter windows auch so aus?
palttform ist linux/x11

folgt der code:

Code: Alles auswählen

#include <qapplication.h>
#include <qmainwindow.h>
#include <qworkspace.h>
#include <qpushbutton.h>

int main(int argc, char **argv)
{
    QApplication app(argc, argv);

    QMainWindow main;
    QWorkspace qws;
    main.setCentralWidget(&qws);

    QPushButton *qpb=new QPushButton("ein knopf");
    qpb->resize(200, 150);
    qpb->move(100, 100);

    QWidget *pW=qws.addWindow(qpb, Qt::WindowSystemMenuHint);
    pW->setAttribute(Qt::WA_NoBackground);
    pW->setWindowFlags(pW->windowFlags() & ~Qt::WindowTitleHint);
    pW->setBackgroundRole(QPalette::NoRole);

    main.show();

    return app.exec();
}

Timewarp
Beiträge: 23
Registriert: 4. November 2005 21:09
Wohnort: Deutschland

Beitrag von Timewarp »

also bei mir unter windows sieht das ganze so aus (siehe Anhang)
QT 4.01 Opensource

Ich habe das Fenster etwas kleiner gezogen damit das Bild nicht so groß wird was aber nichts an der Darstellung des Fensters geändert hat.
Dateianhänge
qw.jpg
qw.jpg (17.92 KiB) 2168 mal betrachtet
arne.anka
Beiträge: 32
Registriert: 28. Dezember 2005 14:06

Beitrag von arne.anka »

wie sie sehen, sehen sie nix :-(
habe gestern abend noch jemanden aufgetrieben, der mir das unter win32 kompiliert hat und wir habe die gleiche erfahrung gemacht ...
naja, mich hat jetzt gerade jemand darauf gestossen, statt

Code: Alles auswählen

QPushButton *qpb=new QPushButton("ein knopf"); 
qws.addWindow(qpb, Qt::WindowSystemMenuHint);
zu schreiben

Code: Alles auswählen

QPushButton *qpb=new QPushButton("ein knopf", qws); 
dann wird der button kein QWorkspaceChild und somit auch nicht davon verwaltet, ist aber trotzdem da und kann behandelt werden -- ohne frame und decoration.
Antworten