• 5300阅读
  • 1回复

控件写在groupbox里无法SLOT接受对象出错?必须用this定义? [复制链接]

上一主题 下一主题
离线小天
 
只看楼主 倒序阅读 楼主  发表于: 2007-03-01
— 本帖被 XChinux 执行加亮操作(2008-07-27) —
请教高手:

定义了label为public
做界面时候将label放到了Groupbox里,执行一个按狃提交。于是在SLOT时候接受就出错
基本就是提示接受者错误
代码如下:
QLabel *label= new QLabel(groupbox,”label”); //groupbox已经定义过
Connect(btn1,SIGNAL(clicked()),label4,SLOT(run()));
….


Void LampDemo::run()
{

Label->setText(“222”);
Label->show();
}

但如果在上面代码将

QLabel *Label =new QLabel(this); //这里用了THIS
然后Connect(btn1,SIGNAL(clicked()),label,SLOT(run()));

这样就可以了。但位置就不漂亮了,不象放在GROUPBOX里

哪个高手告诉我,如果一定要定义LABEL的时候放到GROUPBOX里
那么run()里面要怎么修改和connect()里面的接受者应该怎么写?才能传递过去
离线小天
只看该作者 1楼 发表于: 2007-03-02
自己回自己

没办法直接写
最后用了很笨的,2次信号传递,发送出去显示的,位置不变
运算过程写在run()函数里,再run()里再发送信号到另个槽接受,对于不同结果要显示的控件用了不同槽
这样反正能显示,控件也没动位置

估计方法很土。。

快速回复
限100 字节
 
上一个 下一个