在qsqltablemodel中禁止某列编辑qlabel/qlineedit

禁止编辑某列可以几种方式实现

  1. 重写QSqlTableModel类实现
    主要是重写 flags

  2. 使用代理
    将这一列使用 QLine/QLineEdit控件作为代理,实现起来相对容易。在实现的过程中,QLine作为代理时,不能双击这一列,如果双击QSqlTableModel默认进入编辑 QLabel标签的模式,会显为空白。

那使用 QLineEdit作为代理控件,再添加 ReadOnly,可以实现只读功能,并且可以复制,相对更合适在项目中使用。

posted @ 2022-04-10 16:58  看不见的R  阅读(364)  评论(0编辑  收藏  举报