QT中如何设置多个定时器的槽函数的参数

QT中如何设置多个定时器的槽函数的参数,第1张

多个定时器共享一个槽函数非常简单,就把这些定时器的timeout信号全部链接到同一个槽不就行了

但是timeout信号是没有带参数的所以没办法利用timeout信号来传参,但是你可以这么做在槽函数里面 调用 sender() 就能获取发送信号的 QObject 再与定时器比对下就能确定是哪个定时器发送的超时信号了

信号和槽如果要传递参数就要确保参数类型和个数的一致

你这里槽函数里面有形参

但信号里面并没有传递过来

所以就连接不到一起

而且连接的时候只要写明参数的类型就可以了

你这里tcpsocket应该是对象名吧

这样就不对了

举个例子

connect(btn,

signal(

clicked(bool)

),

this,

slot(

onclicked(

bool

)

));

//这么客气都不好意思不回答

//在button的槽函数中加入以下语句

switch(comboboxcurrentIndex())

{

case 0: m_pWnd = new MyWindow1(/参数/);//窗口1

break;

case 1: m_pWnd = new MyWindow2(/参数/);//窗口2

break;

//todo

}

//todo

//显示那个窗体

m_pWndshow();

/补充

我晕,这要看你怎么定义那两个窗口类了,一般都是继承自QWidget或者

QDialog类的,构造方法一般就一个参数QWidget parent,此时传入this

就可以了。

/

获取点击数字的字符串,就是把点击的数字显示在label(你的显示框)中,在点击运算符的同时表明数字已经输入完毕,用字符串数组存储起来,同时存储运算符,以此类推,在点击等于按钮的时候表明所有数字和运算符输入完毕,那么在等于的槽函数中解析字符串数组,并把字符转转为int 或float 或者double类型,使用开关语句获取运算符,然后进行相应的运算,并把最终结果转为字符串显示在你的显示屏上面。

希望对你有所启发

是否添加了Q_OBJECT宏

如:

class btn: public QPushButton{ Q_OBJECT };

是否声明和定义了槽onClicked

如:

public slots:

         void onClicked();

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12181247.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存