您好,登錄后才能下訂單哦!
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 單元格設置正則表達式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。