更改QWizard按钮大小

时间:2013-05-07 17:58:18

标签: qt qwidget

我正在尝试做一些看似简单的事情,但我无法让它发挥作用。我想在我的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;
}

此代码不执行任何操作。是否可以更改按钮的几何形状?还是被禁止了?

谢谢

1 个答案:

答案 0 :(得分:1)

最好是使用QSS(Qt样式表)自定义用户界面。您可以使用QApplication::setStyleSheet()读取整个应用程序的qss文件和设置样式表。

您也可以通过编程方式设置qss(不是最佳实践)。

setStyleSheet("QAbstractButton { height: 50px }");

为小部件上的所有按钮设置高度的内容。

在最糟糕的情况下,你可以试试这个:

button(QWizard::CancelButton)->setStyleSheet("height: 50px");