QT控件使用集锦

1、表格控件(QTableWidget)

表格操作QTableWidget

设置表格固定长宽 TableWidget.setFixedSize(int_x,int_h)
设置表格行数 TableWidget.setRowCount(int)
设置表格列数 TableWidget.setColumnCount(int)
设置表头内容 TableWidget.setHorizontalHeaderLabels(list(QString))
隐藏行表头 TableWidget.horizontalHeader().hide()
隐藏列表头 TableWidget.verticalHeader().hide()
表格嵌入单元格 TableWidget.setItem(int_row,int_col,QTableWidgetItem)
表格合并单元格 TableWidget.setSpan(row,col,向下合并行数,向右合并列数)
表格单元格不可编辑 TableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers)
设置自动排序(点击水平表头时,各行按该列数据自动排序) TableWidget.setSortingEnabled (True)

 

表头操作QTableWidget.horizontalHeader() / QTableWidget.verticalHeader()

设计表头样式 table.horizontalHeader().setStyleSheet()
表头字体居中 table.horizontalHeader().setDefaultAlignment(Qt.AlignHCenter)
根据字体设置列宽 table.horizontalHeader().setSectionResizeMode(int_col, QHeaderView.ResizeToContents)
随窗口大小自动调整列宽 table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
随窗口大小自动调整行高 table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)

 

单元格操作QTableWidgetItem

设置单元格内容居中 QTableWidgetItem.setTextAlignment(Qt.AlignHCenter
设置单元格内容居中 QTableWidgetItem.setTextAlignment(Qt.AlignHCenter
设置单元格字体颜色 QTableWidgetItem.setForeground(QBrush(QColor(255, 0, 0)))
设置单元格文本内容 QTableWidgetItem.setText(QString)
设置单元格字体 QTableWidgetItem.setFont()

 

2、LineEdit的格式约束

1.只允许输入整型

ui->lineEdit->setValidator(new QIntValidator(ui->lineEdit));
2.只允许输入数字

ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("[0-9]+$")));
3.只能输入字母和数字

ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("[a-zA-Z0-9]+$")));
3.1 只能输入大写数据:

ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("^[A-Z]+$")));
3.2 只能输入小写数据:

ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("^[a-z]+$")));
3.3只能输入字母:

ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("^[A-Za-z]+$")));
4.输入浮点型数据

非负浮点数(正浮点数 + 0):"^\d+(\.\d+)?$"
正浮点数:"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"
非正浮点数(负浮点数 + 0):"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"
负浮点数:"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" 
浮点数:"^(-?\d+)(\.\d+)?$"

5 . 输入-255~255的整数:

ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("^-?(255|[1,2]?[0-4]?\\d|[1,2]?5[0-4]?)$")));
6.限制浮点数输入范围为[-90,90]并限定为小数位后4位:

ui->lineEdit->setValidator(new QRegExpValidator(QRegExp rx("^-?(90|[1-8]?\\d(\\.\\d{1,4})?)$"); );
7.输入格式 (年-月-日):

ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$")));
7.1 输入格式(月/日/年):

ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$" )));

8.只能中文 输入:
ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("[\u4e00-\u9fa5]+$")));

posted @ 2023-01-29 13:57  unicornsir  阅读(239)  评论(0编辑  收藏  举报