Hallo zusammen,
ich habe per Flag ItemIsUserCheckable und Role CheckStateRole eine Checkbox in einen Tableview integriert. Das funktioniert auch alles wunderbar, doch erscheibt neben der Box noch ein Feld wo der eigentliche Content in Form von "true/false" steht.
Wenn ich diesen nun über die DisplayRole im Data "filtere" bleibt ein unschönes Feld über. (rote Box) Was sich auch irgendwie nicht abschalten lässt.
Kann jemand helfen?
Vielen Dank
Checkbox im View nimmt zuviel Platz ein
Checkbox im View nimmt zuviel Platz ein
- Dateianhänge
-
- 2009-07-14_1431.png (5.02 KiB) 3213 mal betrachtet
-->Dieser Bereich (roter Rahmen) ist im übrigen selektierbar.
er ist nicht nur selectierbar, er ist auch editierbar, es sei denn, du hast ihm gesagt, dass er nicht editierbar sein soll
habe auch mal versucht, die checkbox mittig zu bekommen, habs aber leider nicht geschafft.
würde mich auch interessieren.
den rahmen, der neben der checkbox bei selection gemahlt wird, der ja eigentlich den text umrahmen soll, habe ich so beseitigt:
zentireren würde man wahrscheinlich mit paint hinbekommen, hab aber noch nicht probiert.
er ist nicht nur selectierbar, er ist auch editierbar, es sei denn, du hast ihm gesagt, dass er nicht editierbar sein soll
habe auch mal versucht, die checkbox mittig zu bekommen, habs aber leider nicht geschafft.
würde mich auch interessieren.
den rahmen, der neben der checkbox bei selection gemahlt wird, der ja eigentlich den text umrahmen soll, habe ich so beseitigt:
Code: Alles auswählen
void CheckboxDelegate::drawFocus ( QPainter * painter, const QStyleOptionViewItem & option, const QRect & rect )const
{
QRect rec = rect;
if(m_parentTable)
{
CheckBoxItem *checkItem = dynamic_cast<CheckBoxItem*>(m_parentTable->currentItem());
if(checkItem)
{
//damit der rahmen nicht nur um den text geht sondern auch um die checkbox,
//schaut schöner aus
int w = m_parentTable->horizontalHeader()->sectionSize(checkItem->column());
rec.setLeft(rect.right() - w + 2);
}
}
QItemDelegate::drawFocus(painter, option, rec);
}
Code: Alles auswählen
header()->setResizeMode(0, QHeaderView::Fixed);
header()->resizeSection(0, myColumnSize);