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

(0)

相关推荐

  • 对pyqt5中QTabWidget的相关操作详解

    首先,下面贴上designer处理的界面文件(转换成py后的): # -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'TabWidget.ui' # # Created by: PyQt5 UI code generator 5.12.1 # # WARNING! All changes made in this file will be lost! from PyQt5 import QtC

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

    tablewidget pyqt5的tablewidget组件比较特殊,每个方格可以装载其他组件来搭配实现不同的效果,所以在qtdesigner上找不到可视化直接设置mask或者其他可以限制填入单元格的设置 方法 正是利用tablewidget组件里面放置可以设置正则表达式的lineedit来实现这个功能 在窗口组件窗口加入一个初始化函数 def init(self): from PyQt5.Qt import QRegExpValidator from PyQt5.Qt import QReg

  • 解决layui-table单元格设置为百分比在ie8下不能自适应的问题

    1.如果没有采用响应式布局,指定表格的宽度即可解决比如 table{ width:1400px !important; } 2.如果采用了响应式布局,使用media query查询不同分辨率下的table宽度,然后指定大小即可,在ie8下支持css3和响应式可以使用 selectivizr-min.js和respond.js. 代码如下 <script src="${LUI_ContextPath}/resource/js/jquery.js"></script>

  • C#利用NPOI操作Excel(单元格设置)

    本文实例为大家分享了C#利用NPOI操作Excel的单元格设置,供大家参考,具体内容如下 一.合并单元格 NOPI支持对单元格进行合并,还有单元格格式设置! 注意: 在进行单元格合并时必须先创建单元格 1.合并单元格语句: sheet.AddMergedRegion(new CellRangeAddress(0, 0, 0, 3)); //起始行,终止行,起始列,终止列 2.设置单元格格式: ICellStyle cellStyle = wk.CreateCellStyle();  //首先建单

  • PyQt5中向单元格添加控件的方法示例

    1.简介 pyqt 列表 单元格中 不仅可以添加数据,还可以添加控件. 我们尝试添加下拉列表.一个按钮试试. setItem:将文本放到单元格中 setCellWidget:将控件放到单元格中 setStyleSheet:设置控件的样式(Qt StyleSheet) 2.功能实现 # -*- coding: utf-8 -*- ''' [简介] PyQT5中 单元格里面放控件 ''' import sys from PyQt5.QtWidgets import (QWidget, QTableW

  • PhpSpreadsheet设置单元格常用操作汇总

    PhpSpreadsheet提供了丰富的API接口,可以设置诸多单元格以及文档属性,包括样式.图片.日期.函数等等诸多应用,总之你想要什么样的Excel表格,PhpSpreadsheet都能做到. 在调试设置时,确保引入了正确的文件并实例化. use PhpOffice\PhpSpreadsheet\Spreadsheet; $spreadsheet = new Spreadsheet(); $worksheet = $spreadsheet->getActiveSheet(); 字体 第1行代

  • js生成动态表格并为每个单元格添加单击事件的方法

    html: 复制代码 代码如下: <html> <head> <title>Demo</title> </head> <body> <label style="font-size:20px;width:600px;" >动态表格:</label><br/> <table border="1"> <tbody id="table&qu

  • JS获取填报扩展单元格控件的值的解决办法

    1. 问题描述 填报预览时,我们想获取到某个控件的值相对来说较容易.但如果控件是扩展的,就只能获取到第一个值,无法根据扩展一行行获取对应的值. 例:本意是想获取到袁成洁,结果还是获取到第一个单元格值孙林. 2. 解决方法 我们可以通过js事件来获取对应行控件的值. 3. 示例 新建一个模板,添加数据集ds1:SELECT * FROM 销量 A1单元格设置下拉框控件,B1单元格设置按钮控件,下拉框控件是向下扩展的,模板设计如下图所示: 给B1单元格按钮控件添加一个JS点击事件: js代码如下:

  • c# NPOI 如何在指定单元格导入导出图片

    Intro 我维护了一个 NPOI 的扩展(WeihanLi.Npoi),主要用来导入导出 Excel 数据,最近有网友提出了导入 Excel 的时候解析图片的需求,于是就有了本文的探索 导入Excel 时解析图片 xls 和 xlsx 的 API 稍有不同,详细可以直接参考以下代码,实现代码如下: public static Dictionary<CellPosition, IPictureData> GetPicturesAndPosition(this ISheet sheet) { v

  • DataGridView单元格显示多行的设置方法

    第一.设置RowsDefaultCellStyle的WrapMode属性值为true(表示支持多行显示) 第二.设置AllowUserToResizeColumns属性值为true(表示用户拉大行高) 第三.设置AutoSizeRowsMode属性值为AllCells(表示所有单元格自动调节单元格高度),属性值为DisplayedCells(表示当前单元格自动调节高度,可以提高性能.)

  • 用NPOI创建Excel、合并单元格、设置单元格样式、边框的方法

    今天在做项目中,遇到使用代码生成具有一定样式的Excel,找了很多资料,最后终于解决了,Excel中格式的设置,以及单元格的合并等等.下面就介绍下,使用NPOI类库操作Excel的方法. 1.首先我们先在内存中生成一个Excel文件,代码如下:   HSSFWorkbook book = new HSSFWorkbook();        ISheet sheet = book.CreateSheet("Sheet1"); 2.然后在新创建的sheet里面,创建我们的行和列,代码如下

随机推荐