0
그냥 내가 위젯에서 웹 페이지를 볼 수있는 간단한 웹 뷰어 응용 프로그램을 만들려고 내가 오류가 점점 오전 :(QWebView)는 QWidget하십시오 QPaintDevice 전에의 QApplication을 구성해야
QWidget: Must construct a QApplication before a QPaintDevice
내가 같은 느낌을 이것은 웹킷의 문제점입니까? 나는이 프로젝트를 정적으로 연결하고있다.
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtGui>
#include <QWebPage>
#include <QtWebKit>
#include "Windows.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QWebView *view = new QWebView(parent);
view->load(QUrl("http://google.com/"));
view->show();
}
MainWindow::~MainWindow()
{
delete ui;
}
MAIN.CPP
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
.PRO 파일
QT += core gui webkit network
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = webkittest
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
헤더 파일
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QWebView>
#include <QUrl>
#include <QtPlugin>
#include <QGridLayout>
#include <QSystemTrayIcon>
#include <QMenu>
#include <QMessageBox>
#include <QDialog>
#include <QtWebKit>
class QAction;
class QCheckBox;
class QComboBox;
class QGroupBox;
class QLabel;
class QLineEdit;
class QMenu;
class QPushButton;
class QSpinBox;
class QTextEdit;
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
protected:
//void closeEvent(QCloseEvent *event);
//void keyPressEvent(QKeyEvent *);
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
signals:
private slots:
//void onSslErrors(QNetworkReply* reply, const QList<QSslError> &errors);
private:
Ui::MainWindow *ui;
QWebView* m_pWebView;
#endif // MAINWINDOW_H
어떤 아이디어가 그 원인 일 수 있습니까?
Qt를 어떻게 구성했는지에 따라 릴리스 모드에서 컴파일됩니다. – Kal
어떤 Qt 버전입니까? –
왜 "view-> show();"를 호출합니까? Mainwindow의 생성자에서? 웹뷰 위젯을 메인 윈도우에 넣어야한다고 생각합니다. 메인 윈도우에 레이아웃을 추가하고 레이아웃에 웹 뷰어를 추가하거나 웹 뷰어를 메인 윈도우의 중앙 위젯으로 설정하기 만하면 생성자에서 show() 메소드를 호출하지 않아도됩니다. – Gombat