• 5717阅读
  • 4回复

[讨论]实现自己简单的button [复制链接]

上一主题 下一主题
离线zhx6044
 

只看楼主 倒序阅读 楼主  发表于: 2011-10-12
关键词: button继承按钮
       在项目中button和Qt的QPushButton不一样,要按下和释放是要有图像区别,它还是个圆形的,没办法,只能自己写个button,继承QLabel,从写了mousePressEvent和mouseReleaseEvent,发出一个信号,很简单myButton.cpp myButton.cpp (1 K) 下载次数:17 myButton.h myButton.h (1 K) 下载次数:18
离线jorneyr

只看该作者 1楼 发表于: 2011-10-12
更简单的是使用style sheet,不用改代码,呵呵,下面就是我使用的:
在Qt Creator的Designer中,Button上击右键,change style sheet,输入下面的内容就可以了
QPushButton {
    border: none;
    padding: 0px;
    margin: 0px;
    image: url(:/resources/images/find.png);
}

QPushButton:hover {
    image: url(:/resources/images/find-hover.png);
}

QPushButton:pressed {
    image: url(:/resources/images/find-pressed.png);
}
离线zhx6044

只看该作者 2楼 发表于: 2011-10-13
谢啦,学习了,可学长说,样式表不要乱用,影响子类的
离线ifantasy
只看该作者 3楼 发表于: 2011-10-13
回 2楼(zhx6044) 的帖子
有时候不得不用,你懂的
离线jorneyr

只看该作者 4楼 发表于: 2011-10-13
引用第2楼zhx6044于2011-10-13 17:33发表的  :
[表情] 谢啦,学习了,可学长说,样式表不要乱用,影响子类的[表情]  

style sheet带点的选择器不会影响子类。
1. 此种情况不会影响子类,只会影响QFrame类,注意,在QFrame前面还有一个点
.QFrame {
    border: 2px dashed gray;
}


2. 此种情况会影响QFrame类的所有子类

QFrame {
    border: 2px dashed gray;
}
快速回复
限100 字节
 
上一个 下一个