当前位置: 代码迷 >> QT开发 >> Qt中的鼠标事件有关问题
  详细解决方案

Qt中的鼠标事件有关问题

热度:100   发布时间:2016-04-25 03:11:06.0
Qt中的鼠标事件问题
现在我遇见的问题就是,我给一个button设置图片的切换功能,就是我按下button后会变成另外一张图片,我用的是鼠标的按下和抬起这个两个事件,鼠标按下时是一张图片,鼠标抬起时变成另外一张图片,现在问题就是我有好多个按钮button,每一个按钮都要那样设置,那样的话就是代码好多,很繁琐,就是有没有什么方法能实现这样的功能并且代码也不是很多的那种,
------解决思路----------------------
可以用QPushButton,再用qss来设置,比如:
QString nomalStyle = QString("QPushButton{border-image:url(%1) 0px 0px no-repeat;font-weight: 14px;}").arg(imagePath);
 QString pressStryle = QString("QPushButton:pressed{border-image:url(%1) 0px 0px no-repeat;}").arg(imagePath);
    QPushButton *btnRetore = new QPushButton(QString::fromLocal8Bit("恢复所有默认值"), this);
    btnRetore->setStyleSheet(pressStryle +nomalStyle);
------解决思路----------------------
继承一个QPushButton然后添加两个属性 分别是 按下和抬起的图片。然后再paintEvent里画,估计 二三十行代码就搞定了吧。也不麻烦。
------解决思路----------------------
试一试QIcon ,它可以添加一组图片在不同状态下显示不同的图片,再用把QIcon设置给QPushButton。
------解决思路----------------------
嗯,同意楼上。使用QIcon,QIcon可以根据on和off等状态设置不同的图片。
  相关解决方案