QTableWidget如何限制单元格的内容输入?

bazzi2011 2014-10-30 01:29:17

如图所示,我想要限制QTableWidget的单元格的输入,比如让用户号码的单元格只能输入0--9这10个数字,且最大只能输入3000,该如何设置呢?
...全文
4084 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
dyh19911008 2017-04-10
  • 打赏
  • 举报
回复
楼主这个问题解决了吗,如果解决能否传授一下,谢谢了
IISAR 2014-11-03
  • 打赏
  • 举报
回复
引用 3 楼 Marcelxx 的回复:
[quote=引用 2 楼 bazzi2011 的回复:] [quote=引用 1 楼 Marcelxx 的回复:] 给表格单元设置代理,比如使用QLineEdit,然后用QLineEdit的setValidator设置正则表达式进行校验。
我会用QLineEdit的setValidator设置正则表达式,但如何跟表哥单元设置代理呢?[/quote] QTableWidget可以使用setItemWidget(...)进行设置; QTableView可以使用setDelegate()进行设置。 这个你要看看模型-视图-代理这个概念了。[/quote] QTableWidget要使用setCellWidget吧。
wyljz 2014-11-02
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/390920061 这是我的问题,你的问题解决的话帮我看看吧
wyljz 2014-11-02
  • 打赏
  • 举报
回复
对了,我这个代理是用来限制修改的,表格可以进入编辑状态,但是不能修改
wyljz 2014-11-02
  • 打赏
  • 举报
回复
主程序里: WordItemDelegate *wordItem=new WordItemDelegate; ui->tableView->setItemDelegateForColumn(model->fieldIndex("showword"),wordItem); .h class WordItemDelegate : public QStyledItemDelegate { Q_OBJECT public: explicit WordItemDelegate(QObject *parent = 0); void setModelData(QWidget * editor, QAbstractItemModel * model, const QModelIndex & index) const; signals: public slots: }; .cpp void WordItemDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const { return; } 你可以在setModelData方法里用正则判断输入值
yangchuankai 2014-11-02
  • 打赏
  • 举报
回复 1
引用 5 楼 u010002704 的回复:
重载void QTableWidget::itemChanged ( QTableWidgetItem * item ) [signal],在这里面设置item的限制
麻痹,重写,不是重载,
yangchuankai 2014-11-02
  • 打赏
  • 举报
回复
重载void QTableWidget::itemChanged ( QTableWidgetItem * item ) [signal],在这里面设置item的限制
kemiya 2014-10-30
  • 打赏
  • 举报
回复
可以考虑用QReg试试
Marcelxx 2014-10-30
  • 打赏
  • 举报
回复
引用 2 楼 bazzi2011 的回复:
[quote=引用 1 楼 Marcelxx 的回复:] 给表格单元设置代理,比如使用QLineEdit,然后用QLineEdit的setValidator设置正则表达式进行校验。
我会用QLineEdit的setValidator设置正则表达式,但如何跟表哥单元设置代理呢?[/quote] QTableWidget可以使用setItemWidget(...)进行设置; QTableView可以使用setDelegate()进行设置。 这个你要看看模型-视图-代理这个概念了。
bazzi2011 2014-10-30
  • 打赏
  • 举报
回复
引用 1 楼 Marcelxx 的回复:
给表格单元设置代理,比如使用QLineEdit,然后用QLineEdit的setValidator设置正则表达式进行校验。
我会用QLineEdit的setValidator设置正则表达式,但如何跟表哥单元设置代理呢?
Marcelxx 2014-10-30
  • 打赏
  • 举报
回复
给表格单元设置代理,比如使用QLineEdit,然后用QLineEdit的setValidator设置正则表达式进行校验。

21,441

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧