Seite 1 von 1

qt4: zeichenfehler -- kann das wer verifizieren?

Verfasst: 4. Januar 2006 11:32
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();
}


Verfasst: 4. Januar 2006 18:52
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.

Verfasst: 5. Januar 2006 09:48
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.