Qt Set QTableView不带样式表的背景图像
我想为我的QTableView设置背景图像 在函数内部,我创建了一个测试QWidget并应用了图像,它工作得非常完美。 我传入的fp_小部件是QTableView,问题来了。 该图像未显示/应用于QTableViewQt Set QTableView不带样式表的背景图像,qt,background-image,qtableview,Qt,Background Image,Qtableview,我想为我的QTableView设置背景图像 在函数内部,我创建了一个测试QWidget并应用了图像,它工作得非常完美。 我传入的fp_小部件是QTableView,问题来了。 该图像未显示/应用于QTableView void setBackgroundImage(QWidget *fp_widget, const QPixmap &image) { QPalette palette; palette.setBrush(QPalette::Back
void setBackgroundImage(QWidget *fp_widget, const QPixmap &image)
{
QPalette palette;
palette.setBrush(QPalette::Background, image);
fp_widget->setPalette(palette);
QWidget *test = new QWidget;
test->setPalette(palette);
test->resize(800,800);
test->show();
}
也许您不应该将图像设置为表视图,而应该设置为其视口?QTableView比普通的QWidget复杂得多。正如刚才的另一条评论所说,它继承了QAbstractScrollArea,该区域使用
viewport()
小部件进行实际显示。所以你可以试着在上面设置调色板。但是目前使用的QStyle可能会选择完全忽略你的调色板。。。。CSS可能会更好,因为它覆盖了任何平台样式(但你说没有CSS)。你有一个更完整的测试用例和一个表格可以使用吗?谢谢你的想法。。。我也尝试了viewport,但没有成功。是的,我需要在代码中设置它,因为图像来自数据库,而我在文件系统中没有使用样式表时可以使用的文件。也许你不应该将图像设置为表视图,而应该设置为其视口?QTableView比普通的QWidget复杂得多。正如刚才的另一条评论所说,它继承了QAbstractScrollArea,该区域使用viewport()
小部件进行实际显示。所以你可以试着在上面设置调色板。但是目前使用的QStyle可能会选择完全忽略你的调色板。。。。CSS可能会更好,因为它覆盖了任何平台样式(但你说没有CSS)。你有一个更完整的测试用例和一个表格可以使用吗?谢谢你的想法。。。我也尝试了viewport,但没有成功。是的,我需要在代码中设置它,因为图像来自一个数据库,而我在文件系统中没有使用样式表时可以使用的文件。