QWebView纯文本文档样式

在我的应用程序中,有几个地方使用QWebView并从服务器加载内容。 此外,该应用程序允许用户选择默认或黑暗的主题。 当要显示的文档的内容类型是文本/纯文本并且应用程序主题设置为黑色时,文本在黑色背景上显示为黑色文本。 如果我突出显示,我只能看到文字。 text / html文件适用于任何主题。

理想情况下,当选择黑暗主题时,我想在黑色(或深灰色)背景上显示白色文字。 我一直无法想出如何做到这一点。

以下是我目前用来设置主题的代码:

if(Theme == "dark")
{
    app.setStyle(QStyleFactory::create("Fusion"));
    QPalette darkPalette;
    darkPalette.setColor(QPalette::Window,          QColor(88,88,88));
    darkPalette.setColor(QPalette::WindowText,      Qt::white);
    darkPalette.setColor(QPalette::Base,            QColor(25,25,25));
    darkPalette.setColor(QPalette::AlternateBase,   QColor(88,88,88));
    darkPalette.setColor(QPalette::ToolTipBase,     Qt::white);
    darkPalette.setColor(QPalette::ToolTipText,     Qt::white);
    darkPalette.setColor(QPalette::Text,            Qt::white);
    darkPalette.setColor(QPalette::Button,          QColor(53,53,53));
    darkPalette.setColor(QPalette::ButtonText,      Qt::white);
    darkPalette.setColor(QPalette::BrightText,      Qt::red);
    darkPalette.setColor(QPalette::Link,            QColor(42, 130, 218));
    darkPalette.setColor(QPalette::Highlight,       QColor(150, 200, 255));
    darkPalette.setColor(QPalette::HighlightedText, Qt::black);
    app.setPalette(darkPalette);
} else {
    Theme = "default";
    app.setStyle(QStyleFactory::create("Fusion"));
    app.setPalette(DefaultPalette);
}

// load the style sheet
QFile file(":/themes/" + Theme + "theme.css");
file.open(QIODevice::ReadOnly);
const QByteArray theme = file.readAll();
app.setStyleSheet(theme);

默认主题样式表是空白的,黑色样式表是:

QToolTip {
    color: #ffffff;
    background-color: #2a82da;
    border: 1px solid white;
}

QScrollBar:horizontal  {
    border: 1px solid grey;
    background: #606060;
    height: 20px;
    margin: 0px 20px 0px 20px;
}
QScrollBar::handle:horizontal  {
    border: 1px solid #909090;
    background: #303030;
    min-width: 20px;
}
QScrollBar::add-line:horizontal  {
    border: 1px solid #909090;
    background: #303030;
    image: url(:/themes/themes/dark/sbright.png);
    width: 20px;
    subcontrol-position: right;
    subcontrol-origin: margin;
}
QScrollBar::sub-line:horizontal  {
    border: 1px solid grey;
    background: #303030;
    image: url(:/themes/themes/dark/sbleft.png);
    width: 20px;
    subcontrol-position: left;
    subcontrol-origin: margin;
}


QScrollBar:vertical  {
    border: 1px solid grey;
    background: #606060;
    width: 20px;
    margin: 20px 0 20px 0;
}
QScrollBar::handle:vertical  {
    border: 1px solid #909090;
    background: #303030;
    min-height: 20px;
}
QScrollBar::add-line:vertical  {
    border: 1px solid #909090;
    background: #303030;
    image: url(:/themes/themes/dark/sbdown.png);
    height: 20px;
    subcontrol-position: bottom;
    subcontrol-origin: margin;
}
QScrollBar::sub-line:vertical  {
    border: 1px solid grey;
    background: #303030;
    image: url(:/themes/themes/dark/sbup.png);
    height: 20px;
    subcontrol-position: top;
    subcontrol-origin: margin;
}
链接地址: http://www.djcxy.com/p/39315.html

上一篇: QWebView plain text document style

下一篇: How to get the Value from a input field in QWebView