Для меня, используя PyQt4.13 в Windows, установка фонового цвета в элементе QTableWidget QTableCornerButton
в таблице стилей Qt имеет эффект, но установка фонового изображения не имеет. Тем не менее, вы можете сделать фоновый цвет прозрачным (rgba(0,0,0,0)
), а затем вы увидите фоновое изображение виджета. Границу нужно снова установить, чтобы она выглядела красиво.
Код:
from PyQt4 import QtGui
app = QtGui.QApplication([])
# app.setStyleSheet('QWidget { background-color: #aa8888; } QHeaderView::section { background-color: #88aa88; } QTableWidget QTableCornerButton::section {background-color: #8888aa; }')
# app.setStyleSheet('QWidget { background-image: url(bg.png); } QHeaderView::section { background-image: url(bg.png); } QTableWidget QTableCornerButton::section {background-image: url(bg.png); }')
app.setStyleSheet('QWidget { background-image: url(bg.png); } QHeaderView::section { background-color: rgba(0,0,0,0); } QTableWidget QTableCornerButton::section {background-color: rgba(0,0,0,0); }')
w = QtGui.QTableWidget(2, 2)
w.show()
app.exec_()
Результаты в (в зависимости от того, какой таблицы стилей линии вы используете):
Левого изображение: установить виджет, headerview и цвет tablecornerbutton фона работу
центр изображения: установите фоновое изображение виджета, попробуйте установить изображение headerview и tablecornerbutton, но без эффекта
Правильное изображение: установить фоновое изображение виджета, установить headerview и tablecornerbutton цвет фона для прозрачного. Вероятно, необходимо установить границы.
Мое предположение: вам нужно будет добавить столбец для хранения номеров строк и отключить заголовок. – Schollii
Работает отлично для меня на linux. Вы можете попробовать установить другой [угловой виджет] (https://doc.qt.io/qt-4.8/qabstractscrollarea.html#setCornerWidget). – ekhumoro
Ох! Спасибо, когда я использую setHorizontalHeaderLabels(), верхний левый угол QTableWidget белый, это ошибка qt? @Schollii – liaokong