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魔术可以用来将空间限制为最多一个空间? 目标: 问题答案: 假设您还想覆盖标签,换行符等,只需替换为: 如果您真的只想覆盖空格(而不是制表符,换行符等),请这样做: