Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt QWidget don'的后台属性;不行。(已经提供了一个paintEvent)_Qt_Qt4 - Fatal编程技术网

Qt QWidget don'的后台属性;不行。(已经提供了一个paintEvent)

Qt QWidget don'的后台属性;不行。(已经提供了一个paintEvent),qt,qt4,Qt,Qt4,我使用样式表定制myWidget哪个子类QSpinBox。只有后台属性无法工作 我已经提供了一个用于定制myWidget的paintEvent,但它不起作用 样式表: mySpinBox { background-color: blue; } 代码: 1.如何分配此样式表?2.显示创建mySpinBox实例的代码。@Ezee 1QApplication应用程序;附件.表格(…)2mySpinBox*spinBox=新建mySpinBox到目前为止,一切都是正确的,适合我。问题可能出在其

我使用样式表定制
myWidget
哪个子类
QSpinBox
。只有后台属性无法工作

我已经提供了一个用于定制
myWidget
paintEvent
,但它不起作用

样式表:

mySpinBox {
    background-color: blue;
}
代码:


1.如何分配此样式表?2.显示创建mySpinBox实例的代码。@Ezee 1<代码>QApplication应用程序;附件.表格(…)2<代码>mySpinBox*spinBox=新建mySpinBox到目前为止,一切都是正确的,适合我。问题可能出在其他样式表声明中。您可以尝试将所有样式表行替换为这三行,然后查看发生了什么。是否已设置?@ratchetfreak在
autoFillBackground
文档中,警告:将此属性与Qt样式表一起小心使用。当小部件具有具有有效背景或边框图像的样式表时,此属性将自动禁用。但我尝试将autoFillBackground设置为true或false。这不会改变任何事情。
class mySpinBox : public QSpinBox {
Q_OBJECT
protected:
    void paintEvent(QPaintEvent *);
}

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