我想做一些看起来很容易的事情,但我不能使它工作。我想让QWizard中的按钮变大。下面是代码:
#include "wizard.h"
#include "ui_wizard.h"
#include "QAbstractButton"
Wizard::Wizard(QWidget *parent) :
QWizard(parent),
ui(new Ui::Wizard)
{
ui->setupUi(this);
QRect rect = this->button(QWizard::NextButton)->geometry();
this->button(QWizard::NextButton)->setGeometry(rect.x(), rect.y(), rect.width(), 40);
rect = this->button(QWizard::CancelButton)->geometry();
this->button(QWizard::CancelButton)->setGeometry(rect.x(), rect.y(), rect.width(), 40);
rect = this->button(QWizard::BackButton)->geometry();
this->button(QWizard::BackButton)->setGeometry(rect.x(), rect.y(), rect.width(), 40);
}
Wizard::~Wizard()
{
delete ui;
}
这段代码什么也不做。有可能改变按钮的几何形状吗?还是被禁止了?
谢谢
更好的是使用QSS (Qt样式表)自定义用户界面。您可以使用QApplication::setStyleSheet()读取qss文件并为整个应用程序设置样式表。
也可以通过编程方式设置qss(不是最佳实践)。
setStyleSheet("QAbstractButton { height: 50px }");
设置小部件上所有按钮的高度。
在最坏的情况下,你可以这样做:
button(QWizard::CancelButton)->setStyleSheet("height: 50px");