Non credo che ci sia un metodo esistente per questo, ma qui sono due approcci che funzionano:
1.) Sottoclasse QTableWidgetItem
MyTableWidgetItem::MyTableWidgetItem() :
QTableWidgetItem()
{
setTextAlignment(Qt::AlignLeft);
}
Tuttavia, questo è probabilmente un po ' overkill per una singola impostazione + potresti voler sovraccaricare tutti e quattro i costruttori di QTableWidgetItem.
2.) Un altro approccio è using a factory instead of calling new:
Nota: L'articolo parla di test di unità collegate, ma ci sono molti altri vantaggi di farlo.
QTableWidgetItem* MyTableWidgetFactory::createTableWidgetItem(const QString& text) const
{
QTableWidgetItem* item = new QTableWidgetItem(text);
item->setTextAlignment(Qt::AlignLeft);
return item;
}
Allora, invece di
QTableWidgetItem* myItem = new QTableWidgetItem("foo");
item->setTextAlignment(Qt::AlignLeft);
si può fare
QTableWidgetItem* myItem = myFactory->createTableWidgetItem("foo");
dove myFactory
è un oggetto di MyTableWidgetFactory
.
fonte
2013-04-05 08:21:03