使用pyqt5 tablewidget 单元格设置正则表达式

yipeiwu_com6年前Python基础

tablewidget

pyqt5的tablewidget组件比较特殊,每个方格可以装载其他组件来搭配实现不同的效果,所以在qtdesigner上找不到可视化直接设置mask或者其他可以限制填入单元格的设置

方法

正是利用tablewidget组件里面放置可以设置正则表达式的lineedit来实现这个功能

在窗口组件窗口加入一个初始化函数

 def init(self):
  from PyQt5.Qt import QRegExpValidator
  from PyQt5.Qt import QRegExp
  regx=QRegExp("[0-9]*")#正则表达式
  self.ceil=[]#利用python的引用功能,用于方便获取tablewidget里设置了正则表达式的ceil
  for i in range(0,3):
   ceil=QtWidgets.QLineEdit()#新建一个qlineedit来装正则表达式
   validator = QRegExpValidator(regx)
   ceil.setValidator(validator)
   ceil.setPlaceholderText("请输入参数")
   if i==0 :
    ceil=QtWidgets.QLineEdit()#第一个位置可以不用设置正则表达式
   self.tableWidget.setCellWidget(0,i,ceil)#利用table widget可以装其他组件的方式来实现
   self.ceil.append(ceil)

在主函数这样使用

if __name__ == "__main__":
 from PyQt5 import QtCore, QtGui, QtWidgets
 import sys
 app = QtWidgets.QApplication(sys.argv)
 MainWindow = QtWidgets.QMainWindow()
 Dialog=QtWidgets.QDialog()
 Dialog_ui=Ui_Dialog()
 Dialog_ui.setupUi(Dialog)
 Dialog.show()
 Dialog_ui.init()
 sys.exit(app.exec_())

执行效果

效果已经出来了,正是我们想要的效果

以上这篇使用pyqt5 tablewidget 单元格设置正则表达式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python pip源配置,pip配置文件存放位置的方法

pip源配置文件可以放置的位置: Linux/Unix: /etc/pip.con ~/.pip/pip.conf (每一个我都找了都没有,所以我是在这个文件夹中创建的pip.conf文...

简单了解python的一些位运算技巧

简单了解python的一些位运算技巧

前言 位运算的性能大家想必是清楚的,效率绝对高。相信爱好源码的同学,在学习阅读源码的过程中会发现不少源码使用了位运算。但是为啥在实际编程过程中应用少呢?想必最大的原因,是较为难懂。不过,...

Python中获取网页状态码的两个方法

第一种是用urllib模块,下面是例示代码: 复制代码 代码如下: import urllib status=urllib.urlopen("//www.jb51.net").code...

Python数据结构之顺序表的实现代码示例

Python数据结构之顺序表的实现代码示例

顺序表即线性表的顺序存储结构。它是通过一组地址连续的存储单元对线性表中的数据进行存储的,相邻的两个元素在物理位置上也是相邻的。比如,第1个元素是存储在线性表的起始位置LOC(1),那么第...

Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例

本文实例讲述了Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作。分享给大家供大家参考,具体如下: 实现一个功能:     输入:一颗二叉树的先...