• 6000阅读
  • 8回复

QLable有没有信号? [复制链接]

上一主题 下一主题
离线lgdwell
 

只看楼主 倒序阅读 楼主  发表于: 2008-08-10
— 本帖被 XChinux 执行加亮操作(2008-08-12) —
我现在用QLable加一个背图片,我自己试着定义一个信号,传个值,不过不好用,请问有没有什么办法解决信号的问题?自定义信号不好用!很是郁闷!求高手帮忙!
我能!
离线xjcook

只看该作者 1楼 发表于: 2008-08-11
QLable本身是有信号的,只是不知道你要的是一个啥信号,需要啥是否发出去。
自定义信号不好用,可定是你的问题,大家都用的好好的,
你要坚信一句话
“计算机不会错”
离线lgdwell

只看该作者 2楼 发表于: 2008-08-11
我需要一个点击的信号?当点击qlabel时,发出一个信号,传递一个数值给lineedit,在lineedit上显示。
例如:我做一个qlabel,加一个背景图片,如数字1键,当点击这个label时,发出一个信号,在lineedit上把这个1显示出来。

我想知道用什么信号可以实现。我自定义信号是不好用!求救!!!!
我能!
离线lgdwell

只看该作者 3楼 发表于: 2008-08-11
还有就是,qlabel有没有点击发出的信号?
我能!
离线xjcook

只看该作者 4楼 发表于: 2008-08-11
qlabel是从qwidget继承下来的,你可以重写他的鼠标事件来发信号。
离线lgdwell

只看该作者 5楼 发表于: 2008-08-11
keyPressEvent(QEvent *event)是不是重写这个事件?

用事件过滤器?
我能!
离线XChinux

只看该作者 6楼 发表于: 2008-08-12
如楼上,可以自定义一个signal,然后在重新实现keyPressEvent(),在里面emit 这个自定义的signal
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线xjcook

只看该作者 7楼 发表于: 2008-08-12
引用第5楼lgdwell于2008-08-11 10:26发表的  :
keyPressEvent(QEvent *event)是不是重写这个事件?
用事件过滤器?


重写就可以了,不需要啥过滤
离线lgdwell

只看该作者 8楼 发表于: 2008-08-13
我现在用了过滤器。我先是用key1->installEventFilter(this);注册了一下过滤器(key1是一个qlabel),然后我实现
类名::eventFilter(QObject *target,QEvent *event)
              {
                    if(target == key1)
                          if(event->type() == QEvent::MouseButtonPress)
                                        lineEdit->setText("1"); //lineEdit是一个QLineEdit
                      return QDialog::eventFilter(target,event);  //编译时总提示这块有错误求高手指点!
              }
我能!
快速回复
限100 字节
 
上一个 下一个