添加图像只是到底部或顶部的QT应用程序与样式表(QStyle)

Add image just into a bottom or top in QT App with StyleSheet(QStyle)

本文关键字:样式 应用程序 QStyle QT 图像 底部 顶部 添加      更新时间:2023-10-16

我怎么能添加图像只是到底部或在QT与样式表的形式。例如,我想添加一个图片,你可以看到它在下图中,然后设置填充的形式:

图片链接:http://0000.2.img98.net/out.php/i11716_bg-header2.jpg

请用CSS命令解释

可以使用qss (css)。但是为了在您的自定义QWidget中启用样式表,您必须处理Paint事件。

mywidget.cpp

void QMyWidget::paintEvent(QPaintEvent *)
{
    QStyleOption opt;
    opt.init(this);
    QPainter p(this);
    style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
}

在资源中添加你的css (qss),并添加别名,这将用作加载的文件名。

你可以在主窗口中添加这个方法来加载样式表。

mymainwindow.cpp

void QMyMainWindow::loadStyleSheet(QString path)
{
    QFile data(path);
    QString style;
    if(!data.open(QFile::ReadOnly))
        return false;
    QTextStream styleIn(&data);
    style = styleIn.readAll();
    data.close();
    qApp->setStyleSheet(qApp->styleSheet().append(style));
}

然后用QSS (CSS)文件的资源别名调用该函数。您可以在构造函数或resize事件(用于移动开发)中这样做,以跟踪和加载不同分辨率的不同样式。