Pregunta

He implementado 2 QComboBoxes uno de ellos con elementos insertados manualmente cada vez y otro que tenga elementos insertados con una lista (estoy usando Python)

Pero cuando intento para obtener el valor actual del cuadro combinado, devuelve Ninguno . Procedí como se especifica en esta pregunta: me he referido esta he proporcionado wat que he codificado. "comando" y "opción" son QComboBoxes (Perdón por el mal estilo) ¿Hay algún error en los índices?

    self.command.insertItem(1,'Convert')
    self.command.insertItem(2,'Compose')
    self.command.insertItem(3,'Animate')


    self.option.insertItems(268,list)

y recuperación:
self.selected_com=self.command.itemData(self.command.currentIndex()) self.selected_opt=self.option.itemData(self.option.currentIndex())

¿Fue útil?

Solución

No ha seleccionado un elemento actual de los cuadros combinados. Si no hay ningún elemento actual e insertar un nuevo elemento con insertItem, no se selecciona automáticamente como la actual. Es posible que desee llamar y self.command.setCurrentIndex(1) self.option.setCurrentIndex(1).

A partir de la documentación sobre currentIndex():

Por defecto, para un cuadro combinado vacío o un cuadro combinado en el que ningún elemento actual se establece, esta propiedad tiene un valor de -1.

A partir de la documentación sobre itemData():

Devuelve los datos para la función dada en el índice dado en el cuadro combinado, o QVariant :: no válida si no hay datos para este papel.

A partir de la documentación de PyQt:

Cualquier objeto Python se puede utilizar siempre que sea Se espera que un QVariant. Ninguno será interpretado como un QVariant válido.

Otros consejos

Se puede utilizar este código para ir a buscar los datos actuales de ComboBox:

QString qualification=ui->comboBox->currentText();
QDebug()<<qualification;
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top