1、设置QTableView表格某一行或者某一列只读
实现一个委托,不返回任何editor,把它设为只读的行列
class ReadOnlyDelegate : public QItemDelegate
{
public:
ReadOnlyDelegate(QWidget* parent = NULL) :QItemDelegate(parent)
{
}
QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem& option,
const QModelIndex& index) const override //final
{
Q_UNUSED(parent)
Q_UNUSED(option)
Q_UNUSED(index)
return NULL;
}
};
ReadOnlyDelegate* readOnlyDelegate = new ReadOnlyDelegate(this);
setItemDelegateForColumn(2, readOnlyDelegate); //设置某列只读
setItemDelegateForRow(0, readOnlyDelegate); //设置某行只读
2、QLineEdit输入限制
利用QLineEdit委托和正则表达式对输入进行限制
实现只能输入1-12个数字
class UserIDDelegate : public QItemDelegate
{
Q_OBJECT
public:
UserIDDelegate(QObject* parent = 0) : QItemDelegate(parent) {
}
QWidget* createEditor

文章介绍了如何在Qt中使用QItemDelegate控制QTableView中的表格行和列设置为只读,以及通过QLineEdit的委托和正则表达式限制输入,同时展示了如何使用QSpinBox限制输入范围。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



