Добрый день!
Нужно отобразить html-текст с рисунками в Qt приложении. Тескт сохранен из формата MSWord как web-страница.
Набросал тестовое приложение.
textEditTest.pro:
QT += core gui
TARGET = textEditTest
TEMPLATE = app
SOURCES += main.cpp\
widget.cpp
HEADERS += widget.h
main.cpp:
#include <QtGui/QApplication>
#include "widget.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
widget.cpp:
#include "widget.h"
#include <QPushButton>
#include <QFileDialog>
#include <QTextStream>
#include <QTextEdit>
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
resize(640, 480);
QTextEdit *te = new QTextEdit(this);
te->setGeometry(10, 10, 620, 400);
connect(this, SIGNAL(setHtml(QString)), te, SLOT(setHtml(QString)));
QPushButton *btn = new QPushButton("Load HTML text", this);
btn->setGeometry(10, 420, 100, 50);
connect(btn, SIGNAL(clicked()), this, SLOT(clicked()));
}
void Widget::clicked()
{
QString FileName = QFileDialog::getOpenFileName(this);
if (FileName.isEmpty()) return;
QFile f(FileName);
if (!f.open(QIODevice::ReadOnly)) return;
QTextStream ts(&f);
QString s = ts.readAll();
f.close();
emit setHtml(s);
}
widget.h:
#ifndef WIDGET_H
#define WIDGET_H
#include <QtGui/QWidget>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
signals:
void setHtml(const QString &text);
private slots:
void clicked();
};
#endif // WIDGET_H
При загрузке файла текст отображается нормально, а вот вместо рисунков - серые размытые квадратики.
Что я делаю не так?