将QWidget映射到变量
Map QWidget to variable
我们的想法是将QWidget与一个变量连接起来,这样当小部件上的文本发生变化时,它也会在变量中发生变化。
只需像这样的一行
WidgetMapper::connect(ui->lineEdit, SIGNAL(textChanged(QString)), someClass.var);
其将例如CCD_ 1与变量连接。
1) 这将在行编辑中显示var
2) 当lineEdit触发textChanged(QString)
信号时,WidgetMapper会使用stringstream将此QString转换为正确的映射类型,并将其写入var
。
但我真的不太了解模板,也不知道这是否可能。我认为不可能为每个类型使用一个WidgetMapper,所以我也尝试为每个类型创建单独的实例(WidgetMapper<int> mapper;
),这仍然比为每个QLiteEdit编写setter和onTextChangedSlot更好,但我不知道如何使其也能工作(转换器部分仍然不知道正确的类型)。
WidgetMapper使用QSignalMapper将信号映射到QWidget,它工作得很好,我遇到的问题是将QString转换为模板变量。
那么这有可能吗?如果是的话,我该怎么做?或者这个问题已经有了解决方案?(以某种方式将QDataWidgetMapper
与包含变量的类一起使用?)
首先,如果可能的话,连接变量只会调用一些函数。
第二次尝试使用QSignalMapper
,这样您就可以为所有小部件使用一个插槽,前提是您将它们的指针保持在一个数组中,索引是SignalMapper发出的信号(int)。这样,您的插槽就可以使用MyWidgetArray[i]->text()
。
相关文章:
- 从另一个 cpp 文件更改结构内、映射键内的变量
- 如果包含映射的静态库与可执行文件和动态库链接,静态映射(变量)是否会被多次释放?
- C++预处理会生成变量成员、资源库和映射
- gdb映射显示不正确的成员变量
- 如何常量映射变量
- C++映射:创建一个临时变量或每次使用键访问值会更快吗
- program_options变量映射更改参数
- C++将一组整数变量映射到值的有效方法
- 打印出映射键值,其中键是结构变量 c++
- 其中是在以下程序中创建的用于映射初始化的临时变量
- C++如何声明映射变量
- 如何在一个无序映射中存储2个以上的变量
- 将QWidget映射到变量
- 语法错误:html 映射文件中的解析错误 - ogmaps 引用错误:找不到变量:GUnload
- 要迭代的成员变量的映射
- 映射多变量/层系统的泛化
- 从变量映射键和值初始化
- 使用变量参数映射函数并通过字符串 c++ 调用
- 将实例变量类型映射到模板成员函数
- 检查 C++ 中的空静态映射变量