我正在尝试做一些看似简单的事情,但我无法让它发挥作用。我想在我的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;
}
此代码不执行任何操作。是否可以更改按钮的几何形状?还是被禁止了?
谢谢
答案 0 :(得分:1)
最好是使用QSS(Qt样式表)自定义用户界面。您可以使用QApplication::setStyleSheet()读取整个应用程序的qss文件和设置样式表。
您也可以通过编程方式设置qss(不是最佳实践)。
setStyleSheet("QAbstractButton { height: 50px }");
为小部件上的所有按钮设置高度的内容。
在最糟糕的情况下,你可以试试这个:
button(QWizard::CancelButton)->setStyleSheet("height: 50px");