|Distributor ID:|Ubuntu|
|Description:|Ubuntu 24.10|
|Release:|24.10|
|Codename:|oracular|
LibreOffice: 24.8.2.1
Tengo una macro que dejó de funcionar después de actualizar. Libreoffice se cierra directamente cuando la macro intenta crear una caja diálogo con QT5.
Este código de ejemplo reproduce el error:
class LoginDialog(QDialog):
def __init__(self, parent=None):
super().__init__(parent)
# Crear los campos de entrada de texto para usuario y contraseña
self.user_label = QLabel('Usuario:')
self.user_edit = QLineEdit()
self.password_label = QLabel('Contraseña:')
self.password_edit = QLineEdit()
self.password_edit.setEchoMode(QLineEdit.Password)
# Crear el botón de aceptar y cancelar
self.ok_button = QPushButton('Aceptar')
self.cancel_button = QPushButton('Cancelar')
# Crear el diseño vertical y agregar los widgets
layout = QVBoxLayout()
layout.addWidget(self.user_label)
layout.addWidget(self.user_edit)
layout.addWidget(self.password_label)
layout.addWidget(self.password_edit)
layout.addWidget(self.ok_button)
layout.addWidget(self.cancel_button)
# Configurar el diálogo con el diseño vertical
self.setLayout(layout)
self.setWindowTitle('Iniciar sesión')
# Conectar el botón de aceptar y cancelar a sus respectivas funciones
self.ok_button.clicked.connect(self.accept)
self.cancel_button.clicked.connect(self.reject)
def get_credentials(self):
# Devolver el nombre de usuario y contraseña ingresados como tupla
return self.user_edit.text(), self.password_edit.text()
def test():
doc = XSCRIPTCONTEXT.getDocument()
sheet = doc.Sheets[0]
cell = sheet.getCellByPosition(0,1)
dialog = LoginDialog()
if dialog.exec_() == QDialog.Accepted:
cell.setString("QT ok!")
cell = sheet.getCellByPosition(0,0)
oCursor = sheet.createCursor()
oCursor.gotoEndOfUsedArea(False)
oCursor.gotoStartOfUsedArea(True)
rg = oCursor.getRows().getCount()
cell.setValue(rg)
No he podido encontrar en ningún lado el reporte de error como para diagnosticar mejor que pasa.