使用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编程之序列操作实例详解

Python编程之序列操作实例详解

本文实例讲述了Python编程之序列操作。分享给大家供大家参考,具体如下: #coding=utf8 ''''' 序列类型有着相同的访问模式:它的每一个元素可以通过指定一个偏移量的方...

Python3实现zip分卷压缩过程解析

Python3实现zip分卷压缩过程解析

使用zipfile库 查看 官方中文文档 利用 Python 压缩 ZIP 文件,我们第一反应是使用 zipfile 库,然而,它的官方文档中却明确标注“此模块目前不能处理分卷 ZIP...

Python测试Kafka集群(pykafka)实例

生产者代码: # -* coding:utf8 *- from pykafka import KafkaClient host = 'IP:9092, IP:9092, IP...

Python中optionParser模块的使用方法实例教程

本文以实例形式较为详尽的讲述了Python中optionParser模块的使用方法,对于深入学习Python有很好的借鉴价值。分享给大家供大家参考之用。具体分析如下: 一般来说,Pyth...

Python selenium文件上传方法汇总

文件上传是所有UI自动化测试都要面对的一个头疼问题,今天博主在这里给大家分享下自己处理文件上传的经验,希望能够帮助到广大被文件上传坑住的seleniumer。 首先,我们要区分出上传按钮...