Seite 1 von 1

[gelöst] Button in QTableWidget: drawControl

Verfasst: 14. März 2008 15:26
von The_Akki
Hi,
ich habe folgendes Problem. Ich möchte in einer Spalte eines QTableWidgets ein Button integrieren.

Die Lösung: QItemDelegate !?
Damit habe ich nun Probleme. Den Button kann ich mit drawControl() zeichnen.
Damit komme ich nicht ganz klar. Der Button-Text wird leider nicht angezeigt.
Außerdem: Wie schaffe ich es, dass ich auf ein klicken reagieren kann? Wie connecte ich das?

Code: Alles auswählen

void ListDetailsDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
	QStyleOptionViewItem opt = option;

	if( index.column() == posDelete ){
		QStyleOptionButton *optButton = new QStyleOptionButton();
		optButton -> rect = opt.rect;
		optButton -> features = QStyleOptionButton::DefaultButton;
		optButton -> text = tr("Delete");
		QApplication::style() -> drawControl(QStyle::CE_PushButtonBevel, optButton, painter);
		
	}else{
		QItemDelegate::paint(painter, option, index);
	}
}
Zu der Verwendung eines Buttons in der Tabelle hab ich leider nichts aussagendes finden können. Kann jemand dazu eine Webseite oder ein Code empfehlen?

LG The_Akki

Verfasst: 14. März 2008 18:56
von upsala
Du suchst das QSpinBoxDelegate-Example. Oder willst du den Button dauerhaft anzeigen?

Verfasst: 14. März 2008 19:08
von dhcase

Verfasst: 14. März 2008 20:04
von The_Akki
ohja
setCellWidget war genau was ich suchte. Google hat mir so gut wie immer nur drawControl geboten.