Qt:将点击的信号映射到另一个按钮

时间:2017-11-23 12:53:52

标签: qt click signals-slots qt-signals

我想要一个可折叠的小部件。我使用了这段代码:How to make an expandable/collapsable section widget in QT

我希望QToolButton的标题位于最左侧,三角形图标位于右侧。我删除了标题,并移动了图标。然后我创建了一个QPushButton并使其看起来像QLabel并将其定位在我想要标题的位置。现在,我希望标题可以点击 - 与点击切换图标具有相同的效果。如何连接这两个信号?

QToolButton的代码:

QObject::connect(toggleButton, &QToolButton::clicked, [this](const bool checked)
{
    toggleButton->setArrowType(checked ? Qt::ArrowType::DownArrow : Qt::ArrowType::UpArrow);
    toggleAnimation->setDirection(checked ? QAbstractAnimation::Forward : QAbstractAnimation::Backward);
    toggleAnimation->start();
});

2 个答案:

答案 0 :(得分:1)

您也可以这样写:

QObject::connect(titleLabel, &QPushButten::clicked, toggleButton, &QToolButton::clicked);

答案 1 :(得分:0)

我发现这有效:

Profile prf = dataSnapshot.getValue(Profile.class);

免责声明:我不知道这是否是正确的方法。