14 c++ qt qt4 signals-slots
我似乎无法将一个参数传递给一个插槽.如果我没有传递一个参数,那么函数会很好地滚动.如果我传递一个参数(整数),我编译时会得到错误"没有这样的名字类型"和"没有这样的插槽".
在我的标题中,我声明:
private slots:
void addButton(int);
signals:
void clicked(int)
Run Code Online (Sandbox Code Playgroud)
在我的Main.cpp中,我这样做:
int count;
int count = 0;
QPushButton* button = new QPushButton("Button");
_layout->addWidget(button);
connect(button, SIGNAL(clicked(count), this, SLOT(addButton(count)));
Run Code Online (Sandbox Code Playgroud)
....
void Main::addButton(int count) {
//do stuff with count
}
Run Code Online (Sandbox Code Playgroud)
cgm*_*gmb 17
塞巴斯蒂安是正确的,你不能以你正在尝试的方式做到这一点,但是Qt确实提供了一个为你提供所需功能的类.
查看QSignalMapper.它允许您将整数与对象/信号对相关联.然后连接到其信号而不是直接连接到按钮.
归档时间: |
|
查看次数: |
19229 次 |
最近记录: |