相关疑难解决方法(0)

QTableView派生类中的paintEvent:绘制设备返回引擎== 0,键入:1

作为动画图像(又名预加载器)或替代品Qt负载指示器的跟进我试着在里面画画QTableView.但是当我初始化时,QPainter我收到以下警告.

QWidget::paintEngine: Should no longer be called
QPainter::begin: Paint device returned engine == 0, type: 1
Run Code Online (Sandbox Code Playgroud)

这是代码(SO答案,它似乎有一个按钮):

    void CDerivedFromQTableView::paintEvent(QPaintEvent *event)
    {
        QTableView::paintEvent(event); // draw original content
        QPainter p(this); // Problem: QPainter::begin: Paint device returned engine == 0, type: 1
        const QPixmap pm(QPixmap::grabWidget(this->m_loadIndicator));
        QPoint middle = this->geometry().center();
        int x = middle.x() - pm.width() / 2;
        int y = middle.y() - pm.height() / 2;
        p.drawPixmap(QPoint(x, y), pm); // draw load …
Run Code Online (Sandbox Code Playgroud)

qt qtableview qpainter qt5.4

3
推荐指数
1
解决办法
1338
查看次数

标签 统计

qpainter ×1

qt ×1

qt5.4 ×1

qtableview ×1