Qt:将点击信号映射到另一个按钮
Qt: Map a clicked signal to another button
我想要一个可折叠的小部件。我使用了这段代码:.
我希望 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();
});
我发现这行得通:
QObject::connect(titleLabel, &QPushButton::clicked, [this]
{
toggleButton->click();
});
免责声明:我不知道这样做是否正确。
也可以这样写:
QObject::connect(titleLabel, &QPushButten::clicked, toggleButton, &QToolButton::clicked);
我想要一个可折叠的小部件。我使用了这段代码:
我希望 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();
});
我发现这行得通:
QObject::connect(titleLabel, &QPushButton::clicked, [this]
{
toggleButton->click();
});
免责声明:我不知道这样做是否正确。
也可以这样写:
QObject::connect(titleLabel, &QPushButten::clicked, toggleButton, &QToolButton::clicked);