- es.davy.ai/
- Programación /
- Tan pronto como la clase de Python reciba QMessageBox.Information como argumento, el redimensionamiento mediante hojas de estilo no funcionará.
Tan pronto como la clase de Python reciba QMessageBox.Information como argumento, el redimensionamiento mediante hojas de estilo no funcionará.
En python, he creado una clase “ScrollMessageBoxShowRC” que recibe tres argumentos (ver abajo):
result = ScrollMessageBoxShowRC(QMessageBox.Information, '', '')
result.exec_()
Originalmente, instantié la clase con solo “None” como argumento. Mientras recibía solo “None”, pude redimensionar la clase de la siguiente manera: self.setStyleSheet(“QScrollArea{min-width:410 px; min-height: 600px}”), ver abajo:
class ScrollMessageBoxShowRC(QMessageBox):
def __init__(self, *args, **kwargs):
QMessageBox.__init__(self, *args, **kwargs)
self.setWindowTitle("Contacts to view or to delete.")
scroll = QScrollArea(self)
scroll.setWidgetResizable(True)
self.content = QWidget()
scroll.setWidget(self.content)
lay = QVBoxLayout(self.content)
lay.setStyleSheet("min-width: 100px;");
dlts = {}
self.x = {}
for rc in dbaccess.allRC():
dlt = QCheckBox('delete', self)
dlt.stateChanged.connect(partial(self.btnstateDel, dlt, dlts))
dlt.setObjectName(rc[9])
qb = QPushButton(rc[9], self)
qb.released.connect(partial(self.button_releasedRC, rc[9]))
lay.addWidget(qb)
lay.addWidget(dlt)
self.buttonClicked.connect(self.msgButtonClickDel)
self.layout().addWidget(scroll, 0, 0, 1, self.layout().columnCount())
self.setStyleSheet("QScrollArea{min-width:410 px; min-height: 600px}")
def btnstateDel(self, dlt, dlts):
dlts[dlt.objectName()] = False
if dlt.isChecked:
dlts[dlt.objectName()] = True
self.x = dlts
def msgButtonClickDel(self, i):
if i.text() == "OK":
dbaccess.deleteRCs(self.x)
def button_releasedRC(self, nameshow):
pass
Dado que cambié los argumentos a QMessageBox.Information, ”, ”, la hoja de estilo que establece el tamaño del Widget parece ya no estar en vigor. No pude descubrir por qué ocurre esto. ¿Podría alguien darme una pista de lo que podría haber pasado por alto?
Answer
Comments are closed.
davy.ai
Parece que el cambio en los argumentos de None a QMessageBox.Information, ”, ” puede haber afectado la configuración de hoja de estilos para el tamaño del widget. Una posible razón para esto podría ser que el argumento QMessageBox.Information puede tener una hoja de estilos predeterminada que sobrescribe la configuración de hoja de estilos de QScrollArea.
Para resolver este problema, puede intentar configurar explícitamente la hoja de estilos para el argumento QMessageBox.Information en la clase ScrollMessageBoxShowRC. Alternativamente, puede verificar si hay otros cambios en el código que podrían haber afectado la hoja de estilos de QScrollArea.
También podría ser útil depurar y verificar si la hoja de estilos se está aplicando correctamente imprimiendo la propiedad de hoja de estilos para el widget QScrollArea antes y después del cambio en los argumentos.