继承QWidget的派生类控件不能设置QSS问题解决(style()->drawPrimitive(QStyle::PE_Widget)

自定义控件时基类用了QWidget,发现qss设置不起作用,需要重载其paintEvent函数即可;

如下代码:

void CCustomWidget::paintEvent(QPaintEvent*)

{
    QStyleOption opt;
    opt.init(this);
    QPainter p(this);
    style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
}

https://blog.csdn.net/lanhy999/article/details/12499363

原文地址:https://www.cnblogs.com/findumars/p/9525064.html

时间: 2024-09-30 07:20:20

继承QWidget的派生类控件不能设置QSS问题解决(style()->drawPrimitive(QStyle::PE_Widget)的相关文章

QWidget 直接派生类的样式表不起作用的解决办法

从 QWidget 派生一个窗口,使用 stylesheet 设置背景,designer 设置没有问题,或者,通过 setStyleSheet() 设置,代码操作是正确的,编译运行后,却没有背景. 下面为验证例子(通过代码验证,没有使用 designer ): 工程目录结构如下: mywidget.h 示例代码如下: #ifndef MYWIDGET_H #define MYWIDGET_H #include <QWidget> class MyWidget : public QWidget

kettle系列-[KettleUtil]kettle插件,类似kettle的自定义java类控件

该kettle插件功能类似kettle现有的定义java类插件,自定java类插件主要是支持在kettle中直接编写java代码实现自定特殊功能,而本控件主要是将自定义代码转移到jar包,就是说自定义功能的实现改为在eclipse等ide中开发. 设计本插件的原因是直接在kettle中写java代码是很不容易的事,开发体验与eclipse差得远,java语法还要受到限制,调试麻烦.实现点简单的逻辑还行,稍微复杂一点就比较麻烦,需要对java和kettle相关接口很熟悉.而简单的功能可以采用jav

用继承和组合方式定制控件

1. 定制控件的方式 2. 带标签的文本编辑框(不带命名空间) 3. 带图标的文本框(带命名空间) 4. 控件属性验证 1. 定制控件的方式 <1>继承其他控件类 Ctrl + 左键 --->EditText <2>组合方式. 当前控件类从容器类继承, 并将若干个控件添加到当前容器中 <3>绘制控件. 也就是控件类从View继承, 并在onDraw方法中从零开始绘制控件, 例如TextView 2. 带标签的文本编辑框(不带命名空间)

3、用继承和组合方式定制控件

定制控件的方式 ? 继承其它控件类(EditText.Button) ? 组合方式.当前控件类从容器类继承,并将若干个控件添加到当前的容器中. ? 绘制控件,也就是控件类从View继承,并在onDraw方法中从零绘制 控件.例如,TextView.  带标签的文本编辑框(不带命名空间) 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http:

第02讲集合类和列表类控件

集合 有了数组为什么还要集合: 数组是固定长度的,集合长度可变(因此,适应场景不同) 同时存储一对一关系的数据 方便增删改查 不能添加重复数据(如set中) Collection Map 接口 HashMap List Queue Set ArrayList LinkedList HashSet 类 Collection存储类的对象,Map存储键值对. List和Queue存储的对象是有序的,允许重复的,可以为null:Set中存储的对象是无序的,不允许重复的,只能有一个为null. Array

重新想象 Windows 8.1 Store Apps (77) - 控件增强: 文本类控件的增强, 部分控件增加了 Header 属性和 HeaderTemplate 属性, 部分控件增加了 PlaceholderText 属性

[源码下载] 重新想象 Windows 8.1 Store Apps (77) - 控件增强: 文本类控件的增强, 部分控件增加了 Header 属性和 HeaderTemplate 属性, 部分控件增加了 PlaceholderText 属性 作者:webabcd介绍重新想象 Windows 8.1 Store Apps 之控件增强 文本类控件的增强 为一些控件增加了 Header 属性和 HeaderTemplate 属性 为一些控件增加了 PlaceholderText 属性 示例1.演示

C#控件系列--文本类控件

C#控件系列--文本类控件 文本类控件主要包括Label.LinkLabel.Button.TextBox以及RichTextBox. Label 功能 Label用来显示用户不能直接改变的文本信息. 属性 Image--指定标签上显示的图像. Text--此属性是与文件相关联的文本. Name--标识对象的名称. AutoSize--如果此属性为true,则启用了根据字号自动调整大小.请注意,这只对文本不换行的标签控件有效. Enabled--是否启用该控件. Visible--可见还是隐藏.

C#控件系列--选择类控件

C#控件系列--选择类控件 选择类控件主要包括:ComboBox.CheckBox.CheckedListBox.RadioButton.NumericUpDown以及ListBox. ComboBox 功能 ComboBox控件用于在下拉组合框中显示数据,它结合了TextBox控件和ListBox控件的功能. 属性

Winform控件之文本类控件

对于一个应用程序而言,控件是搭建用户界面的积木.它们具备交互式的特征.VS 2012中的控件都放在工具箱中,添加一个控件到窗体,只需在工具箱中选择好要添加的控件,并按住鼠标左键,拖动到窗体上即可.向窗体上添加控件还有另一个方法,就是通过代码来实现,即可通过窗体的Controls类的Add方法,格式为:窗体标识.Controls.Add(控件标识).通过代码的方法添加控件比较麻烦,基本上是不会使用这种方法的. 文本类控件包含标签控件(Label),按钮控件(Button),文本框控件(TextBo