连接具有不同关系的信号和槽

问题描述 投票:0回答:1

首先我想说我是 GUI 编程的菜鸟。我使用 Qt 5.4。

我在观看 voidRealms 视频时想出了这段代码。

connect(ui->horizontalSlider,SIGNAL(sliderMoved(int)),ui->progressBar,SLOT(setValue(int)));

显然这将滑块移动与进度条填充联系起来。这实际上就像

进度条填充

<-
滑块移动。

我怎样才能建立不同的关系?喜欢

progressbarfill

<-
(滑块移动)/2 或类似的东西。

c++ qt signals-slots
1个回答
1
投票

您需要为此目的创建新的插槽。 但在 C++ 11 和 Qt 5 风格中,您可以使用 labmdas!对于如此短的功能来说非常舒服。 对于你的情况:

connect(ui->horizontalSlider, &QSlider::sliderMoved, this, [this](int x) {
this->ui->progressBar->setValue(x / 2);
});
© www.soinside.com 2019 - 2024. All rights reserved.