Seite 1 von 1
wie Skalierung von QPushButton herausfinden?
Verfasst: 19. November 2013 23:56
von MADsCIENTIST
Hallo liebe Community,
meine Frage ist vielleicht banal, aber wie kann ich die Höhe (bzw. die Skalierung) eines
QPushButtons (in px) herausfinden, wenn dieser zusätzlich innerhalb eines Layouts mittels
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding) gestreckt wird?
Danke schon mal im Vorraus.
Re: wie Skalierung von QPushButton herausfinden?
Verfasst: 20. November 2013 09:04
von Hulk2442
Was ist an den Funktionen
Auszusetzen?
Re: wie Skalierung von QPushButton herausfinden?
Verfasst: 20. November 2013 10:44
von MADsCIENTIST
Weil width() u. height() bei mir viel zu hohe Werte liefern. Die Größe erfrage ich daher
jetzt mit sizeHint()!
=> Bei height() wird mir beispielsweise 480 ausgegeben, wo hingegen bei sizeHint().heigth()
50 ausgegeben wird.
Re: wie Skalierung von QPushButton herausfinden?
Verfasst: 25. November 2013 11:32
von Hulk2442
Es hängt sehr davon ab wann du die Größe abfragst.
Wenn du den code unterhalb ausführst erhältst du sogar drei Größen
1.) Konstruktor (vor dem dem Anzeigen der GUI)
2.) Nach dem Erzeugen der GUI (erster Maus klick)
3.) Vergrößern des Fenster + zweiter Mausklick
Code: Alles auswählen
#include "MainWindow.hh"
MainWindow::MainWindow(QWidget *parent) :
QWidget(parent)
{
// this->setMinimumSize( 600, 400 );
createLayout();
buttonClickedSlot();
}
void MainWindow::createLayout()
{
pButton = new QPushButton("Button");
pButton->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
connect( pButton, SIGNAL(released()), this, SLOT(buttonClickedSlot()) );
pSizeLabel = new QLabel( "Size: 0 x 0 ");
pVLayout = new QVBoxLayout;
pVLayout->addSpacing( 50 );
pVLayout->addWidget( pSizeLabel );
pVLayout->addWidget( pButton );
pVLayout->addSpacing( 50 );
this->setLayout( pVLayout );
}
void MainWindow::buttonClickedSlot()
{
pSizeLabel->setText("width = " + QString::number(pButton->width()) + " x " +
"height = " + QString::number(pButton->height()) + " | " +
"SizeHint --> width = " + QString::number(pButton->sizeHint().width()) + " x " +
"height = " + QString::number(pButton->sizeHint().height()) );
}