我不能显示HTML

时间:2016-07-18 23:25:25

标签: c++ qt

所以,当我按下按钮时,我试图向文本浏览器显示一个html,我收到一条消息:无法找到字符串文字运算符'operator'“https'with'const char [38]','unsigned int'参数

这是我的代码

       #include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QApplication>
#include <QFile>
#include <QTextStream>
#include <QMessageBox>
#include <stdio.h>
#include <qlayoutitem>
#include <QString>
#include <QCoreApplication>
#include <QDir>
#include <QtCore>
#include <QFileDialog>
#include <QDesktopServices>


using namespace std;

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}




void MainWindow::on_pushButton_clicked()
{

        ui->textBrowser->setText("<html><body><iframe src=\"https://drive.google.com/file/d/0B4k6aYtTLhHbamxJNGNqTDZqWHM/preview\" width=\"640\" height=\"480\"></iframe></body></html>");


}

void MainWindow::on_pushButton_4_clicked()
{
    QString link = "https://docs.google.com/forms/d/e/1FAIpQLSdazoZx2TpWblMfrvZGJwgvPl8qz4Ftxb0aOkht2bfUSklXcw/viewform";
    QDesktopServices::openUrl(QUrl(link));

}

void MainWindow::on_pushButton_3_clicked()
{
    QString link = "https://docs.google.com/forms/d/e/1FAIpQLSdazoZx2TpWblMfrvZGJwgvPl8qz4Ftxb0aOkht2bfUSklXcw/viewform";
    QDesktopServices::openUrl(QUrl(link));

}


void MainWindow::on_pushButton_5_clicked()
{
    QString link = "https://docs.google.com/forms/d/e/1FAIpQLSdazoZx2TpWblMfrvZGJwgvPl8qz4Ftxb0aOkht2bfUSklXcw/viewform";
    QDesktopServices::openUrl(QUrl(link));

}

2 个答案:

答案 0 :(得分:1)

转义引号

void MainWindow::on_pushButton_clicked()
{
   ui->textBrowser->setText("<html><body><iframe src=\"MY GOOGLE DRIVE EMBED LINK\" width=\"640\" height=\"480\"></iframe></body></html>");


}

我还注意到您发布的代码不是失败的代码 - 请尝试发布真实代码

答案 1 :(得分:1)

问题在于:

ui->textBrowser->setText("<html><body><iframe src="MY GOOGLE DRIVE EMBED LINK" width="640" height="480"></iframe></body></html>");

有两种解决方案:

1)逃避内部双引号:

ui->textBrowser->setText("<html><body><iframe src=\"MY GOOGLE DRIVE EMBED LINK\" width=\"640\" height=\"480\"></iframe></body></html>");

2)用单引号替换内部双引号:

ui->textBrowser->setText("<html><body><iframe src='MY GOOGLE DRIVE EMBED LINK' width='640' height='480'></iframe></body></html>");