Pregunta

Necesito quitar la flecha de clasificación de un encabezado de columna. Esto se puede hacer llamando set_sort_indicator(false) en la columna.

La flecha no se muestra, pero el espacio para ello parece estar reservada todavía. Si el título de la columna es lo suficientemente grande como para llenar toda la cabecera, la última parte se recorta (donde la flecha debe ser).

¿Hay una manera de hacer el título llenar toda la cabecera?

¿Fue útil?

Solución

Esto parece ser un poco raro en GTK +. Me descargado y leer a través de las partes pertinentes del Código de la GtkTreeViewColumn, y parece que el uso de esta lógica:

  if (tree_column->show_sort_indicator ||
       (GTK_IS_TREE_SORTABLE (model) && tree_column->sort_column_id >= 0))
    gtk_widget_show (arrow);
  else
    gtk_widget_hide (arrow);

Cuando arrow es el widget que sostiene la flecha. Esto parece indicar que el widget flecha siempre se embala en la caja horizontal que conforma la cabecera de la columna y, a continuación, sólo oculta (no eliminado) si se supone que no debe ser visible. Eso significa que todavía hay en la caja, ocupando espacio y haciendo que la etiqueta de ser recortado.

Me gustaría recomendar la búsqueda a través del GTK + bugtracker para una cuestión acerca de esto, y si no se encuentra ninguno, cree una.

Otros consejos

Ok, así que he presentado un informe de error a GTK. Ellos dijeron que no es un problema y no se fijará.

He mirado en otros conjuntos de herramientas gráficas (ventanas, qt) y su aplicación es diferente, pero esto no parece importar a los chicos en el equipo de GTK.

Ok puede utilizar el método set_clickable a la de la columna usted no desea que tenga una flecha a continuación, utilizar signal_connect a la señal clicked y enlazarlo a un Función: que utilizará get_sort_column_id para obtener el orden actual a continuación, Aplicar el orden inverso usando set_sort_column_id.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top