gpt4 book ai didi

c++ - QButtonGroup setExclusive() 问题

转载 作者:太空宇宙 更新时间:2023-11-04 11:24:58 25 4
gpt4 key购买 nike

我正在尝试通过独占检查将一些 QPushButton 分组到 QButtonGroup 中,但在启动后我仍然能够检查多个按钮。

// pen toggle button
penB.setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
penB.setIconSize(QSize(ICON_SIZE,ICON_SIZE));
penB.setCheckable(true);
penB.toggle();
penB.setIcon(QIcon(":icons/pen.png"));
// circle toggle button
circleB.setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
circleB.setIconSize(QSize(ICON_SIZE,ICON_SIZE));
circleB.setCheckable(true);
circleB.setIcon(QIcon(":icons/circle.png"));

figureBox.addButton(&penB);
figureBox.addButton(&circleB);
figureBox.setExclusive(true);
// add buttons to grid
layoutG.addWidget(&openB,1,1);
layoutG.addWidget(&saveB,1,2);
layoutG.addWidget(&penB,1,3);
layoutG.addWidget(&circleB,2,3);

我认为,它只是需要处理一些事件。如果是真的,具体是哪些事件?提前致谢。

最佳答案

我已经尝试复制您的示例并且对我来说它工作正常:

widget.h:

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QPushButton>
#include <QButtonGroup>
#include <QGridLayout>

class Widget : public QWidget
{
Q_OBJECT

public:
explicit Widget(QWidget *parent = 0);
~Widget();

private:
QGridLayout layoutG;
QButtonGroup figureBox;
QPushButton openB;
QPushButton saveB;
QPushButton penB;
QPushButton circleB;
};

#endif // WIDGET_H

小部件.cpp:

#include "widget.h"


Widget::Widget(QWidget *parent) :
QWidget(parent)
{
// pen toggle button
penB.setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
penB.setIconSize(QSize(16, 16));
penB.setCheckable(true);
penB.toggle();

// circle toggle button
circleB.setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
circleB.setIconSize(QSize(16, 16));
circleB.setCheckable(true);

figureBox.addButton(&penB);
figureBox.addButton(&circleB);
figureBox.setExclusive(true);

// add buttons to grid
layoutG.addWidget(&openB,1,1);
layoutG.addWidget(&saveB,1,2);
layoutG.addWidget(&penB,1,3);
layoutG.addWidget(&circleB,2,3);

setLayout(&layoutG);
}

Widget::~Widget()
{
}

您的代码中唯一可能有问题的地方是我看不到您在哪里设置布局,但也许您出于简单原因没有添加代码。另一件事是,唯一排除的按钮是 penBcircleB

检查我的示例,看看您做错了什么,也许会回来提供反馈。

关于c++ - QButtonGroup setExclusive() 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27005346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com