使用pyqt5 tablewidget 單元格設(shè)置正則表達(dá)式
tablewidget
pyqt5的tablewidget組件比較特殊,每個(gè)方格可以裝載其他組件來(lái)搭配實(shí)現(xiàn)不同的效果,所以在qtdesigner上找不到可視化直接設(shè)置mask或者其他可以限制填入單元格的設(shè)置
方法
正是利用tablewidget組件里面放置可以設(shè)置正則表達(dá)式的lineedit來(lái)實(shí)現(xiàn)這個(gè)功能
在窗口組件窗口加入一個(gè)初始化函數(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()#新建一個(gè)qlineedit來(lái)裝正則表達(dá)式 validator = QRegExpValidator(regx) ceil.setValidator(validator) ceil.setPlaceholderText("請(qǐng)輸入?yún)?shù)") if i==0 : ceil=QtWidgets.QLineEdit()#第一個(gè)位置可以不用設(shè)置正則表達(dá)式 self.tableWidget.setCellWidget(0,i,ceil)#利用table widget可以裝其他組件的方式來(lái)實(shí)現(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)出來(lái)了,正是我們想要的效果
以上這篇使用pyqt5 tablewidget 單元格設(shè)置正則表達(dá)式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用paramiko遠(yuǎn)程執(zhí)行命令、下發(fā)文件的實(shí)例
下面小編就為大家?guī)?lái)一篇使用paramiko遠(yuǎn)程執(zhí)行命令、下發(fā)文件的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10用python實(shí)現(xiàn)k近鄰算法的示例代碼
這篇文章主要介紹了用python實(shí)現(xiàn)k近鄰算法的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-09-09Python編程itertools模塊處理可迭代集合相關(guān)函數(shù)
本篇博客將為你介紹Python函數(shù)式編程itertools模塊中處理可迭代集合的相關(guān)函數(shù),有需要的朋友可以借鑒參考下,希望可以有所幫助2021-09-09