example c++ qt qcombobox

c++ - combobox qt example



¿Cómo cambiar el tamaño de QScrollBar de QComboBox? (2)

Estoy usando un QComboBox con algunos elementos hasta el punto de que, cuando aparece el widget que muestra todos los elementos disponibles en el QComboBox, solo algunos de los elementos son visibles y el otro accesible a través de un QScrollBar.

El problema es que QScrollBar es delgada y quiero agrandarla. Hice algunas investigaciones en la web y encontré algunas formas de cambiar el ancho de QScrollBar (ver referencias a continuación), pero el problema es que simplemente no puedo encontrar el método para acceder al QScrollBar de QComboBox.

Entonces, dado este problema, ¿cómo puedo hacer este cambio? (Supongo que puede presentarme de una manera que no requiera que acceda al QScrollBar o mostrar cómo puedo acceder a él).

Referencias


  1. Obtener el QAbstractItemView la combobox mediante view ()

  2. Esa clase hereda de QAbstractScrollArea , por lo tanto, hereda el método verticalScrollBar

p.ej

QAbstractItemView *qv = combobox.view(); QScrollBar *scrollbar = qv->verticalScrollBar(); // Adjust size via setStyleSheet or hint/width


La barra de desplazamiento no es un miembro de la clase QComboBox, es un miembro del QAbstractItemView subyacente. Pruebe algo como lo siguiente (pseudo-código):

QListView* abby = new QListView(); QWidgetList list = abby->scrollBarWidgets(Qt::AlignRight); for (auto itr = list.begin(); itr != list.end(); itr++) { (*itr)->setMinimumWidth(100); } QComboBox combo; combo.setView(abby);

El scrollbarwidgets devuelve una lista de widgets de las barras de desplazamiento para esa alineación. Luego puede establecer las propiedades en los punteros de la barra de desplazamiento.