[gelöst] Button in QTableWidget: drawControl

Alles rund um die Programmierung mit Qt
Antworten
The_Akki
Beiträge: 14
Registriert: 25. Januar 2008 19:41
Wohnort: Lohr am Main

[gelöst] Button in QTableWidget: drawControl

Beitrag 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
Zuletzt geändert von The_Akki am 14. März 2008 20:05, insgesamt 1-mal geändert.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Du suchst das QSpinBoxDelegate-Example. Oder willst du den Button dauerhaft anzeigen?
dhcase
Beiträge: 132
Registriert: 10. Juni 2006 20:38

Beitrag von dhcase »

The_Akki
Beiträge: 14
Registriert: 25. Januar 2008 19:41
Wohnort: Lohr am Main

Beitrag von The_Akki »

ohja
setCellWidget war genau was ich suchte. Google hat mir so gut wie immer nur drawControl geboten.
Antworten