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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt:将点击的信号映射到另一个按钮相关的知识,希望对你有一定的参考价值。

我想要一个可折叠的小部件。我使用了这段代码: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();
});
答案

你也可以像这样写:

QObject::connect(titleLabel, &QPushButten::clicked, toggleButton, &QToolButton::clicked);
另一答案

我发现这有效:

QObject::connect(titleLabel, &QPushButton::clicked, [this]
{
    toggleButton->click();
});

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

以上是关于Qt:将点击的信号映射到另一个按钮的主要内容,如果未能解决你的问题,请参考以下文章

从一个片段移动到另一个片段时如何自动选择底部导航?

QT界面添加一个按钮,如何实现点击按钮让窗口最大化或最小化

Qt:为啥我的按钮没有收到信号?

怎么用eclipse做一个界面点击按钮就可以跳转到另一个界面的代码

将一个片段调用到另一个片段时更改标题TextView

Qt学习六 - 信号与槽