如何在 QT 中的另一个插槽中使用插槽中的变量
Posted
技术标签:
【中文标题】如何在 QT 中的另一个插槽中使用插槽中的变量【英文标题】:How to use a variable from a slot in another slot in QT 【发布时间】:2016-07-15 15:25:21 【问题描述】:我正在学习 QT,遇到了这个问题。我在这里阅读了一些几乎类似的问题,但是对于像我这样的新手来说,解决方案很复杂。
如何在这段代码中访问var_slot1
的值?
请帮我解决这个问题。非常感谢!
MyProject::MyProject(QWidget *parent)
: QWidget(parent)
ui.setupUi(this);
..........
..........
connect(ui.button1, SIGNAL(signal1()), this, SLOT(slot1()));
connect(ui.button2, SIGNAL(signal2()), this, SLOT(slot2()));
void MyProject::slot1()
int var_slot1 = 8;
void MyProject::slot2()
int var_slot2 = var_slot1 + 2;
【问题讨论】:
使var_slot1
成为MyProject
的成员变量
非常感谢,史蒂夫! :)
【参考方案1】:
您可以将值保存为类成员变量而不是函数局部变量。然后你就可以从两个成员函数中访问它了。
【讨论】:
不要忘记在构造函数中初始化它,以防在 slot1() 之前调用 slot2()。以上是关于如何在 QT 中的另一个插槽中使用插槽中的变量的主要内容,如果未能解决你的问题,请参考以下文章
如何将多个 QShortcuts 连接到 Qt 中的一个插槽?并找出插槽内是哪个快捷方式发出的?
如何使用 Qt Creator 将按钮单击信号(“触发”信号)与工具栏中的用户按钮的动作/插槽功能连接起来?