QWidget Rahmen entfernen

Alles rund um die Programmierung mit Qt
Antworten
cefour
Beiträge: 8
Registriert: 1. März 2010 13:57

QWidget Rahmen entfernen

Beitrag 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
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Beitrag 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
cefour
Beiträge: 8
Registriert: 1. März 2010 13:57

Re

Beitrag 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!
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Beitrag 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
cefour
Beiträge: 8
Registriert: 1. März 2010 13:57

Re

Beitrag 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 ?
Dateianhänge
screenshot.png
screenshot.png (61.09 KiB) 2851 mal betrachtet
Antworten