使用pyqt5 tablewidget 單元格設(shè)置正則表達(dá)式
tablewidget

pyqt5的tablewidget組件比較特殊,每個方格可以裝載其他組件來搭配實現(xiàn)不同的效果,所以在qtdesigner上找不到可視化直接設(shè)置mask或者其他可以限制填入單元格的設(shè)置
方法
正是利用tablewidget組件里面放置可以設(shè)置正則表達(dá)式的lineedit來實現(xiàn)這個功能
在窗口組件窗口加入一個初始化函數(shù)
def init(self):
from PyQt5.Qt import QRegExpValidator
from PyQt5.Qt import QRegExp
regx=QRegExp("[0-9]*")#正則表達(dá)式
self.ceil=[]#利用python的引用功能,用于方便獲取tablewidget里設(shè)置了正則表達(dá)式的ceil
for i in range(0,3):
ceil=QtWidgets.QLineEdit()#新建一個qlineedit來裝正則表達(dá)式
validator = QRegExpValidator(regx)
ceil.setValidator(validator)
ceil.setPlaceholderText("請輸入?yún)?shù)")
if i==0 :
ceil=QtWidgets.QLineEdit()#第一個位置可以不用設(shè)置正則表達(dá)式
self.tableWidget.setCellWidget(0,i,ceil)#利用table widget可以裝其他組件的方式來實現(xiàn)
self.ceil.append(ceil)
在主函數(shù)這樣使用
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_())
執(zhí)行效果

效果已經(jīng)出來了,正是我們想要的效果
以上這篇使用pyqt5 tablewidget 單元格設(shè)置正則表達(dá)式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用paramiko遠(yuǎn)程執(zhí)行命令、下發(fā)文件的實例
下面小編就為大家?guī)硪黄褂胮aramiko遠(yuǎn)程執(zhí)行命令、下發(fā)文件的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10
Python編程itertools模塊處理可迭代集合相關(guān)函數(shù)
本篇博客將為你介紹Python函數(shù)式編程itertools模塊中處理可迭代集合的相關(guān)函數(shù),有需要的朋友可以借鑒參考下,希望可以有所幫助2021-09-09

