使用 QScrollArea 时发生错误
Posted
技术标签:
【中文标题】使用 QScrollArea 时发生错误【英文标题】:Error occurs when use a QScrollArea 【发布时间】:2013-06-02 08:59:47 【问题描述】:#include <QtCore>
#include <QtGui>
#include <QLabel>
#include <QScrollArea>
#include <QScrollBar>
#include <QFileDialog>
#include"QDebug"
#include<math.h>
#include<QApplication>
QScrollArea* scrollarea = new QScrollArea;
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
ui->setupUi(this);
ui->label->setBackgroundRole(QPalette::Base);
ui->label->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
ui->label->setScaledContents(true);
scrollarea->setBackgroundRole(QPalette::Dark);
scrollarea->setWidget(ui->label);
setCentralWidget(scrollarea);
QImage img("D:\\picture.jpg");
ui->label->setPixmap(QPixmap::fromImage(img));
MainWindow::~MainWindow()
delete ui;
我是 Qtcreator 的新手。 我尝试将滚动条添加到标签。但是当我运行时,它会发生错误: QWidget:必须在 QPaintDevice 之前构造一个 QApplication 我该怎么做才能解决这个问题
【问题讨论】:
向我们展示您的main()
。
#include "mainwindow.h" #include QScrollArea* scrollarea = new QScrollArea;
在创建QApplication
之前,您正在构建一个全局QScrollArea
。使其成为MainWindow
的成员变量。
【讨论】:
那么请接受(这是我的答案旁边的勾号),否则搜索与您相同问题的人会看到您的问题但认为它尚未解决。以上是关于使用 QScrollArea 时发生错误的主要内容,如果未能解决你的问题,请参考以下文章