在qsqltablemodel中禁止某列编辑qlabel/qlineedit
禁止编辑某列可以几种方式实现
-
重写QSqlTableModel类实现
主要是重写 flags -
使用代理
将这一列使用 QLine/QLineEdit控件作为代理,实现起来相对容易。在实现的过程中,QLine作为代理时,不能双击这一列,如果双击QSqlTableModel
默认进入编辑QLabel
标签的模式,会显为空白。
那使用 QLineEdit
作为代理控件,再添加 ReadOnly
,可以实现只读功能,并且可以复制,相对更合适在项目中使用。