不能按下按钮

时间:2017-01-20 10:13:02

标签: c++ qt qt-creator

我试图将多个(按钮)组合成一个专属组,但我不知道如何, 当我尝试这个例子[Link]时,它有效, 但是当我在我的项目上尝试它时失败了

注意:我的所有UI元素都是以图形方式实现的,而不是代码实现的, 我也只使用(Qt Creator)

我尝试了以下

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    Test01 window;

       QButtonGroup apple (&window);
        apple.addButton(&PB01);
        apple.addButton(&PB02);
        apple.addButton(&PB03);
        apple.setExclusive(true);

    window.show();
    return app.exec();
}

但它不起作用,而不是以下

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    Test01 window;

    QButtonGroup apple (&window);
        apple.addButton(&ui->PB01);
        apple.addButton(&ui->PB02);
        apple.addButton(&ui->PB03);
        apple.setExclusive(true);

    window.show();
    return app.exec();
}

我尝试了cpp文件,如下面的

Test01::Test01(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::Test01)
{
    ui->setupUi(this);
    QButtonGroup apple (&Test01);
        apple.addButton(&ui->PB01);
        apple.addButton(&ui->PB02);
        apple.addButton(&ui->PB03);
        apple.setExclusive(true);
}

但是没有工作

  • 能否请您提供解决方案
  • 在(main.cpp)&中写这段代码之间的差别是什么?在(test01.cpp)文件

1 个答案:

答案 0 :(得分:0)

正确回答您的问题,提供表单的ui - 代码会很好。

但是,有一个原因可能是您错过了checkable的{​​{1}}属性。

要作为按钮组工作,每个QPushButton必须通过代码标记为QPushButton

checkable

或Qt Designer。

问候,托马斯