自定义控件时基类用了QWidget,发现qss设置不起作用,需要重载其paintEvent函数即可
2018-01-22 16:41
225 查看
自定义控件时基类用了QWidget,发现qss设置不起作用,需要重载其paintEvent函数即可;
QMyToolButton::QMyToolButton(QWidget
*parent)
: QWidget(parent)
如下代码:
void QMyToolButton::paintEvent(QPaintEvent*)
{
QStyleOption opt;
opt.init(this);
QPainter p(this);
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
}
QMyToolButton::QMyToolButton(QWidget
*parent)
: QWidget(parent)
{ QString strBtnSheet="QMyToolButton::hover{background-color:rgb(190,140,140);}"; strBtnSheet += "QMyToolButton::pressed{background-color:rgb(140,140,140);}"; setStyleSheet(strBtnSheet); }
如下代码:
void QMyToolButton::paintEvent(QPaintEvent*)
{
QStyleOption opt;
opt.init(this);
QPainter p(this);
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
}
相关文章推荐
- QTableView的表格项中加入图标的方法(重载View::mouseMoveEvent,并使用View::setIconSize函数设置图标的大小)
- QSS的作用需要正确设置文件编码才能起作用
- Qt 自定义控件应用QSS(setStyleSheet)设置由Q_PROPERTY设置的属性
- QWidget::paintEvent 被调用的场景
- C++中派生类重写基类重载函数时需要注意的问题:派生类函数屏蔽基类中同名函数
- C++ 为什么设置基类的析构函数为虚函数
- 虚函数的使用 以及虚函数与重载的关系, 空虚函数的作用,纯虚函数->抽象类,基类虚析构函数使释放对象更彻底
- 自定义控件之绘图篇:Paint之函数大汇总
- 很多次出错,开始以为自己写的函数有问题,,。。。最后发现少了个%d看来基础还是需要巩固。
- vs2010中使用.def文件导出函数时需要的设置
- 派生类覆盖基类的重载的函数
- 笔记01 设置控件属性后,QSS没有立刻生效的解决方法——重载控件的QSS
- Visual Studio 2005-如何添加 需要重载 的虚函数
- Python基类函数的重载与调用实例分析
- onhashchange事件,只需要修改hash值即可响应onhashchange事件中的函数(适用于上一题下一题和跳转页面等功能)
- 基类和派生类之间的同名函数,存在重载吗?
- 如何在VS2005中添加 需要重载 的虚函数
- vs开发,添加try catch(...)发现没有捕获异常,需要对编译命令进行设置
- UIWidget是所有UI组件的抽象基类,作为基类当然定义了必须的成员变量和函数,接触过MFC或其他UI组件开发,想必都知道有一堆参数设置,尤其是Visual Studio的可视化界面,
- 只有基类的析构函数需要为虚函数