PDA

View Full Version : Modelbased-Itembased types.



hgedek
3rd September 2007, 07:24
The real problem is that:How can we change values on form.
Which type widget will I use?
Model based?
Item based?
I used treeWidget.But on treeWidget I cant click any items or input any values.Only If I use a dialog etc and get value from it I can change using setText(col,value) at background.
I want to validate columns using QRegExpValidator.So each row-column will be different?

jpn
3rd September 2007, 09:25
QTreeWidget::editItem(QTreeWidgetItem* item, int column = 0)

jpn
3rd September 2007, 10:06
Please do not edit a question to something completely different after it has already been answered.

You can validate items like this:


class MyItemDelegate : public QItemDelegate
{
public:
MyItemDelegate(QObject* parent = 0) : QItemDelegate(parent) {}

QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem& option, const QModelIndex& index) const
{
QWidget* editor = QItemDelegate::createEditor(parent, option, index);
if (QLineEdit* lineEdit = dynamic_cast<QLineEdit*>(editor))
{
// check column in question from index.column() if needed
// lineEdit->setValidator(...);
}
return editor;
}
};

// usage:
treeWidget->setItemDelegate(new MyItemDelegate(treeWidget));