Я использую код ниже от дизайнера, и я пытаюсь заставить Qwidget иметь изображение в качестве фона, а затем виджет списка и виджет редактирования текста будут прозрачными.PyQt4 Изображение в качестве фона
Основная проблема, с которой я сталкиваюсь, заключается в том, чтобы сделать изображение в качестве фона, используя таблицу стилей для «Формы», которую она переносит как фон для виджета списка и виджета редактирования текста. Как заставить их сохранить собственные таблицы стилей.
from PyQt4 import QtCore, QtGui
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s
try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName(_fromUtf8("Form"))
Form.setEnabled(True)
Form.resize(854, 667)
Form.setAutoFillBackground(False)
Form.setStyleSheet("background-image: url(test.jpg);")
self.textEdit = QtGui.QTextEdit(Form)
self.textEdit.setGeometry(QtCore.QRect(20, 400, 821, 251))
self.textEdit.setStyleSheet(_fromUtf8("background-color: rgba(255, 255, 255, 102);"))
self.textEdit.setObjectName(_fromUtf8("textEdit"))
self.listWidget = QtGui.QListWidget(Form)
self.listWidget.setGeometry(QtCore.QRect(360, 10, 471, 371))
self.listWidget.setAutoFillBackground(True)
self.listWidget.setStyleSheet(_fromUtf8("background-color: rgba(255, 255, 255, 102);"))
self.listWidget.setObjectName(_fromUtf8("listWidget"))
item = QtGui.QListWidgetItem()
item.setCheckState(QtCore.Qt.Checked)
self.listWidget.addItem(item)
item = QtGui.QListWidgetItem()
item.setCheckState(QtCore.Qt.Checked)
self.listWidget.addItem(item)
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
Form.setWindowTitle(_translate("Form", "Form", None))
__sortingEnabled = self.listWidget.isSortingEnabled()
self.listWidget.setSortingEnabled(False)
item = self.listWidget.item(0)
item.setText(_translate("Form", "blah blh sdfsaasdfdsfasf", None))
item = self.listWidget.item(1)
item.setText(_translate("Form", "test", None))
self.listWidget.setSortingEnabled(__sortingEnabled)
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
Form = QtGui.QWidget()
ui = Ui_Form()
ui.setupUi(Form)
Form.show()
sys.exit(app.exec_())
Благодаря
Я сожалею, что я не понимаю, как сделать эту работу? –
Используйте эту строку при вызове 'Form.setStyleSheet', поэтому стиль будет применяться только к дочерним элементам' QWidget' с именем '' Form "' (поэтому вы используете 'setObjectName'). – cdonts
Извините, новый для pyqt. Это когда я это называю. Как добавить это к нему Form.setStyleSheet («background-image: url (test.jpg);») –