gpt4 book ai didi

c++ - 只需按下 QToolButton 即可将其移动到不同的布局?

转载 作者:行者123 更新时间:2023-11-30 04:14:49 25 4
gpt4 key购买 nike

我这里有两种不同的布局,一种是 QToolButton。我的目标是在单击该按钮时在两个布局之间转移该按钮。我认为这段代码可以工作,

片段:

void DominionLinux::on_toolButton_clicked(string state)
{
if (state=="Disabled"){
ui->verticalLayout_Enabled->addWidget(ui->toolButton);
state = "Enabled";
}
else if (state=="Enabled"){
ui->verticalLayout_Disabled->addWidget(ui->toolButton);
state = "Disabled";
}
}

默认情况下,state == "Disabled"。当我在 QTCreator 中测试 UI 时,我第一次点击时,它起作用了;该按钮从一个模板中消失,出现在另一个模板中。当我第二次点击另一个模板时,它没有。编译时,我收到此警告:*QMetaObject::connectSlotsByName:on_toolButton_clicked(string) 没有匹配信号*

知道插槽停止工作的原因吗?

最佳答案

Any ideas why the slot stops working?

您在连接处缺少信号声明,因为警告也有提示。此外,您似乎正在将插槽作为信号传递给连接方法。信号不应与 Qt 应用程序中的槽同名。

除此之外,您可能想重新考虑有关禁用和启用按钮的设计。将它们放在不同的层中并不是合适的做法。

此外,您可能应该避免使用原始字符串来表示一般状态。最好对“切换状态”使用枚举或 bool 值。

关于c++ - 只需按下 QToolButton 即可将其移动到不同的布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18670501/

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