Qt int和QComboBox之间的简单连接?
不知何故,我觉得问这个问题真的很傻,但我只是花了2个小时阅读这个网站和其他信息来源,我只找到了复杂的解决方案,而我坚信我的问题一定有一个非常简单的解决方案 例如,在TCL/TK中,我可以定义一个变量并用两行代码将其绑定到组合框。类似地,在Qt/C++中,我在我的一个类中定义了一个int,我希望QCombobox将该int设置为所选元素的编号(索引)Qt int和QComboBox之间的简单连接?,qt,qcombobox,Qt,Qcombobox,不知何故,我觉得问这个问题真的很傻,但我只是花了2个小时阅读这个网站和其他信息来源,我只找到了复杂的解决方案,而我坚信我的问题一定有一个非常简单的解决方案 例如,在TCL/TK中,我可以定义一个变量并用两行代码将其绑定到组合框。类似地,在Qt/C++中,我在我的一个类中定义了一个int,我希望QCombobox将该int设置为所选元素的编号(索引) 我真的需要深入研究模型/视图及其类来实现这一点吗?您所需要的只是一个连接到组合框信号的插槽。插槽可以更新int变量,也可以对所选索引执行任何操作。(
我真的需要深入研究模型/视图及其类来实现这一点吗?您所需要的只是一个连接到组合框信号的插槽。插槽可以更新
int
变量,也可以对所选索引执行任何操作。(看看QComboBox的其他信号,还有其他选择。)
(这是连接的一行,插槽的1行、2行或3行,具体取决于您的计算方式。)如果使用
void on\u widgetName\u signalName(args)
语法,您可以利用自动连接。这样就不需要自己将信号连接到插槽中,因此(如果将主体与函数名对齐),您可以在一行中完成此操作。请注意,只有当您的UI来自.UI
文件时,才会默认使用on\u widgetName\u signalname
技巧。如果手动设置UI,则必须setName()
所有要连接的小部件,并且必须手动调用小部件上的QMetaObject::connectSlotsByName(QObject*)
。