QT - QTableCornerWidget



  • hi Leute

    ich habe eine QTableView, deren background transparent ist und deren HorizontalHeader semitransparent eingestellt sind.

    So lange ich keine Reihe einfüge, sondern nur die leere Tabelle anzeige ist alles gut.
    Sobald aber eine Datenreihe in die Tabelle eingefügt wird, kommt links neben dem Header von Spalte 0 ein weißes/hellgraues Widget zum Vorschein, welches ich verstecken oder wenigstens transparent gestalten will.

    Das Problem ist, dass die Funktion "cornerWidget()" NULL zurückliefert, d.h. dass eigentlich kein Widget gesetzt sein soll. Angeblich.

    Daher habe ich selbst ein QFrame als Widget gesetzt und dem über das Stylesheet die Transparenz verpasst, aber selbst das funktioniert nicht.

    Hatte jemand das Problem schonmal ? Ist das vielleicht sogar ein Bug im Framework?



  • Ich kenn das Problem jetzt nicht. Du könntest versuchen, dir über QApplication::widgetAt oder so das Widget zu holen und schauen, was das ist. Wenn du da nur das QTableView oder QHeeaderView bekommst, kannst du versuchen, deren Kinder durchzugehen.


  • Mod

    Versuch mal view->hideColumn(0), evtl. löst dies dein Problem...



  • Ich habe es hinbekommen.

    Im Stylesheet kann man

    QTableView QTableCornerButton::section { background: transparent }
    

    angeben. Damit ist der Cornerbutton unsichtbar.

    Gefunden hier:

    http://doc.qt.digia.com/4.7/stylesheet-examples.html


Anmelden zum Antworten