Seite 1 von 1
[workaround] QToolButton ohne "Rahmen"
Verfasst: 11. Mai 2007 10:44
von C_R
Hallo,
weiß jemand von euch, wie man den Rahmen bei einem QToolButton ausstellt (als wär man mit der Maus auf dem Button)? So wie es eine QAction in einer QToolBar macht.. Hab die Doku gelesen rauf und runter und finde nix. Qt::transparent als Farbe einstellen geht auch nicht, da sagt der Compiler, dass es transparent nicht gibt (im Gegensatz zur Doku)..
Verfasst: 11. Mai 2007 11:06
von andy72
Versuch es mal mit setFrameStyle(QFrame::NoFrame) - QToolButton kommt vom QAbstractButton und der wiederrum vom QFrame - hast also alle Klassenmethoden bis zum QWidget runter

Verfasst: 11. Mai 2007 11:18
von C_R
QToolButton kennt setFrameStyle nicht. Ist nicht von QFrame abgeleitet sondern von QWidget.
Verfasst: 11. Mai 2007 12:24
von andy72
Hm, habe ich dann wohl falsch in der Doku gelesen - sorry dafür.
Was noch bleibt ist evtl. ja ein CSS ?
QToolButton *btn = QToolButton();
btn->setStyleSheet( "QToolButton { border: 0;}");
Allerdings ist das glaube ich dann leider Systemweit innerhalb der Anwendung oder des Fensters

Verfasst: 11. Mai 2007 12:31
von C_R
hm muss man da evtl was an der Project-Datei drehen? Kenn mich nicht mit den Stylesheets aus, allerdings sagt er sowohl bei einem Widget als auch bei dem toolbutton, dass er setstylesheet nicht kennt.
imho war das nen 4.2 Feature oder? Ich nutze 4.1.1

Verfasst: 11. Mai 2007 12:39
von patrik08
In eine tableview habe ich es so gemacht... im model
Code: Alles auswählen
pushButton = new QPushButton(this);
pushButton->setText(tr("Nr.0 Action"));
pushButton->setCursor(QCursor(static_cast<Qt::CursorShape>(13)));
pushButton->setFlat(true);
Verfasst: 11. Mai 2007 12:44
von C_R
Ja werde wohl den PushButton nehmen, der ToolButton kanns ja scheinbar nicht oO
Verfasst: 11. Mai 2007 12:50
von C_R
Mit dem klappts auch 1a..
Verfasst: 11. Mai 2007 13:29
von andy72
Der Nachteil beim PushButton ist ja eigentlich nur, dass er keine Popups erlaubt, sprich also kannst Du - glaube ich - kein QMenu anbinden.
ABER:
Man man kann das QMenu dann notfalls über die QWidget-Funktion
addAction() erzeugen lassen und dann über setContextMenuPolicy() die Option "Qt::ActionsContextMenu" angeben.
Verfasst: 11. Mai 2007 14:02
von C_R
Ich brauche kein Menü, von daher passts, allerdings hatte ich es vorher vor, mit QAction zu machen. Doch beim aufrufen von addAction hat er mir die Buttons eine Ebene höher (in den Splitter) geworfen..