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.
wie Skalierung von QPushButton herausfinden?
Re: wie Skalierung von QPushButton herausfinden?
Was ist an den Funktionen
Auszusetzen?
Code: Alles auswählen
width()
height()
-
MADsCIENTIST
Re: wie Skalierung von QPushButton herausfinden?
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.
jetzt mit sizeHint()!
=> Bei height() wird mir beispielsweise 480 ausgegeben, wo hingegen bei sizeHint().heigth()
50 ausgegeben wird.
Re: wie Skalierung von QPushButton herausfinden?
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
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()) );
}