Seite 1 von 1

QWidget Rahmen entfernen

Verfasst: 1. März 2010 15:33
von cefour
Hallo Leute,
ich poste Kurz den Code und dann komme ich zur meiner Frage:

Code: Alles auswählen

//mainwidget.cpp
//Im Konstruktor
    this->_tabWidget = new QTabWidget(this);
    QWidget * firstPage = new StartWidget(this);
    firstPage->setObjectName("startPage");
    this->_tabWidget->insertTab(0,firstPage,tr("Start"));
    CreateStyleSheet(this->_tabWidget);
    this->setCentralWidget(this->_tabWidget);

Code: Alles auswählen

//Im StartWidget Konstruktor
    QPushButton * button = new QPushButton("One");

    QVBoxLayout *vBox = new QVBoxLayout(this);
    LogoWidget * logoWidget = new LogoWidget(this);
    vBox->addWidget(logoWidget);
    vBox->addWidget(button);
    this->setLayout(vBox);

Code: Alles auswählen

LogoWidget::LogoWidget(QWidget *parent) :
    QWidget(parent)
{
    resize(this->size().width(),156);
}


void LogoWidget::paintEvent(QPaintEvent *event)
{
    QPainter painter(this);
    QImage backgroundImage(tr("bitmaps/header_bg.png"));

    QBrush brush(backgroundImage);
    painter.setBrush(brush);
    painter.setBackground(brush);
    painter.drawRect(0,0,this->size().width(),156);

}

So ich habe mehrer Probleme: Das erste ist beim Zeichnen des Bildes ist ein Abstand von ungefähr 20px zum Widget Rand obwohl ich, bei (0,0) Anfange zu zeichnen.

Das nächste Problem ist eigentlich sollte das LogoWidget so wie ich es geschrieben habe nur 156px groß sein. Aber der Button der noch im StartWidget erzeugt wird, liegt im Bottom bereich.

Wie kriege diese Probleme beseitigt und vorallem dieser mit dem Rand

Mit freundlichen Grüßen

Verfasst: 1. März 2010 15:52
von -=Freaky=-
vllt. mit http://doc.trolltech.com/4.6/qwidget.ht ... ntsMargins?

das mit der groesse hab ich nicht richtig verstanden, evtl. helfen diese properties:
- http://doc.trolltech.com/4.6/qwidget.html#sizeHint-prop
- http://doc.trolltech.com/4.6/qwidget.ht ... mSize-prop
- http://doc.trolltech.com/4.6/qwidget.ht ... mSize-prop

das war jetzt uebrigens nicht allzu schwer selbst zu finden ...

mfg,
julian

Re

Verfasst: 1. März 2010 16:04
von cefour
Danke. Estmal das mit dem Rahmen lag anscheinend am QVBoxLayout
man muss am Ende vBox->setMargin(0) setzen. Die links die du geschrieben hast hatte ich alle schon ausprobiert bzw. durch gelsen und keine Wirkung erzielt, deshalb habe ich hier gepostet.

Zur zweitens: Mein LogoWidget ist nur 156px hoch, dies wird auch gesetzt.
Trotzdem wird der Button im StartWidget ganz unten also im Bottom bereich gezeichnet und ich wollte wissen was ich falsche mache!

Danke nochmal!

Verfasst: 1. März 2010 17:48
von -=Freaky=-
ok dann verstehe ich das mit dem logo nicht ganz.
wie gross ist dein fenster? warum sollte der button da nicht unten sein? du fuegst ihn doch als letztes widget in ein verticales layout ein?

mfg,
julian

Re

Verfasst: 1. März 2010 18:16
von cefour
Hi, ich habe mal ein Screenshot gemacht

Ich finde der Button gehört dort nicht unten hin? Und wenn doch
wie kann ich die entfernung zum Logo einstellen ?