当前位置: 首页 > 编程笔记 >

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

阮华美
2023-03-14
本文向大家介绍使用pyqt5 tablewidget 单元格设置正则表达式,包括了使用pyqt5 tablewidget 单元格设置正则表达式的使用技巧和注意事项,需要的朋友参考一下

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 单元格设置正则表达式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 行动时刻 - 使用正则表达式 Unlang允许在条件检查中进行正则表达式计算。这些通常是Posix正则表达式。运算符=〜和!〜与正则表达式相关联。为了简单的概念证明,我们将修改上一个练习: 1.编辑FreeRADIUS配置目录下的sites-available / default虚拟服务器,并在该部分顶部的post-auth部分中添加以下内容: if(request:Framed-Protocol

  • sorter: "${$(...props)=>{timeSort(createTime)}$}$", ..$}$"."${$.. 希望结果 :sorter: (...props)=>{timeSort(createTime)}, ..$}$"."${$.. 规则: "${$ 和 $}$" 是一对,将他们替换为空。

  • 在我的rails应用程序中,我想验证包含任意数量关键字的字符串字段上的输入(可以是多个自然语言单词(例如“文档编号”)。为了识别各个关键字,我输入它们,以“,”分隔(或以字符串结尾获取它们的结尾)。 为此我用 它应该允许属性关键字(字符串)包含:“word1、word2、word3 word4、word5-word6” 它不允许使用任何其他模式。e、 g.非“word1;word2;”它确实错误地

  • 问题内容: 我熟悉做pcre正则表达式,但是它们似乎并没有很快起作用。 验证数字1,000,000.00 但是,将其放在我的swift函数中会导致错误。 “乱抛垃圾序列无效” 这当然是因为pcre使用“ \”字符,该字符被迅速解释为转义符(我相信吗?) 因此,由于我不能只使用我习惯的正则表达式。如何将它们翻译为与Swift代码兼容? 问题答案: 在双引号中,单个反斜杠将被读取为转义序列。您需要再次

  • 我在我的程序中添加了一个记录器,在网上冲浪我在代码中添加了一个非常简单的记录器,具有基本的两行定义: 经过几个小时的开发,我想知道如何格式化记录文本的样式,于是我来到了这门课: 阅读Javadoc我可以找到: 可以通过在java中指定格式字符串来定制格式。util。登录中。简单格式化程序。格式属性。 还有几个例子: 我试了每一个,但“格式”字段是“不可见”(我想是私有的),所以我不能直接编辑它。没

  • 问题内容: 给定一个像这样的字符串: 什么样的jQuery或JavaScript魔术可以用来将空间限制为最多一个空间? 目标: 问题答案: 假设您还想覆盖标签,换行符等,只需替换为: 如果您真的只想覆盖空格(而不是制表符,换行符等),请这样做: