Qt为QLabel添加点击事件-使QLabel成为一个图片按钮
来源:互联网 发布:淘宝怎么做淘口令 编辑:程序博客网 时间:2024/06/11 06:41
在Qt的Widget项目的窗口中显示一张图像往往最简单的方式是利用QLabel设置他的pixmap。
然而有时候给他设置了一个图像,还需要用到他的点击事件来进行窗口的交互,但是不像button,可以添加clicked事件。
两种方式可以实现点击事件。
一:新建一个类继承QLabel,比如MyQLabel。在里面实现鼠标点击事件,并添加信号。这个网上例子也很多。
二:添加一个eventFilter函数,并将你的QLabel使用installeventfilter函数安装使用的窗体里面
代码示例:
在mainwindow窗体里面添加了QLabel
在mainwindow.h 文件内
protected: bool eventFilter(QObject *obj, QEvent *event);
在mainwindow.cpp内:
//构造函数内 ui->label->installEventFilter(this);bool MainWindow::eventFilter(QObject *obj, QEvent *event){ if(qobject_cast<QLabel*>(obj)==ui->label&&event->type() == QEvent::MouseButtonRelease) { ui->label->setStyleSheet("background-color: rgb(0, 255, 255);"); return true; } else { return false; //return QMainWindow::eventFilter(obj, event); }}
另外一个问题,如果你使用
ui->label->installEventFilter(this);
后,你的label控件内添加的pixmap图像不显示了,这时候你应该通过label的setstylesheet来设置图像或者更改图像。
阅读全文
0 0
- Qt为QLabel添加点击事件-使QLabel成为一个图片按钮
- QT为QLabel添加Click事件
- QT为QLabel添加Click事件
- QT为QLabel添加Click事件
- 为QLabel添加鼠标事件
- Qt自定义控件---QLabel点击事件
- Qt QLineEdit QLabel 添加clicked事件
- Qt QLineEdit QLabel添加clicked事件
- 为qlabel添加单击事件 clicked(),event
- QT QLabel 单击事件
- QLabel响应鼠标点击事件
- Qt 中自定义QLabel上的点击事件
- Qt tip qlabel 如何设置图片,图片大小设置为qlabel等同大小
- qt QLabel 显示网络图片
- Qt::QLabel
- 利用Qt中的QLabel来加载一个动态图片
- QLabel
- QLabel
- matlab破解方法
- blob对象介绍
- ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option
- 关于Digital Roots(hdu No.1013)的一点思考
- navicat连接数据库出现1045 access denied for user 'root'@'localhost' using password yes
- Qt为QLabel添加点击事件-使QLabel成为一个图片按钮
- java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.String
- Linux中重定向及管道(ubuntu 终端命令)
- 利用Maven把项目生成jar包供其他项目使用
- hashTable
- MySQL length()函数
- 修改chrome 滚动条颜色
- Python的mysql操作(事务、游标)
- 并行脚本执行pssh