我有一个包含许多私有变量的类,我需要能够使用qspinboxes进行修改。我可以通过为连接到其特定旋转框的每个变量分配一个单独的插槽来完成它,但代码变得冗长且重复。 我真的想要一个单独的插槽,它可以改变变量的地址和它的新值。我想我可以以某种方式使用qsignalmapper,但我无法弄清楚如何。有人可以帮忙吗? - 例如,因为我是新手QT程序员。 我正在使用Qt4与C ++和Fedora 14
答案 0 :(得分:0)
您最想要做的是创建一个自旋框的自定义子类,它还可以跟踪要修改的1个变量。创建自定义子类而不是旋转框,并为每个旋转框传递应该能够修改的变量。在自定义类中,您有一个插槽,可以修改它所知道的变量。
这个想法存在差异,但这是减少所有重复的简单方法。
答案 1 :(得分:0)
相信我,你会想要把它搞砸,只是有一堆重复的connect()行和成员访问函数。没那么糟糕。 QSignalMapper用于无参数信号,并将它们与整数ID或指向QObjects的指针相关联。那不是你的情景。