您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch |

自学教程:PyQt5实现tableWidget 居中显示

51自学网 2022-07-22 18:47:43
  python
这篇教程PyQt5实现tableWidget 居中显示写得很实用,希望能帮到您。

PyQt5 tableWidget 居中显示

newItem = QTableWidgetItem("内容")# 居中显示newItem.setTextAlignment(Qt.AlignHCenter | Qt.AlignVCenter)

PyQt5 TableWidGet问题

使用pyqt5展示excel的数据到桌面,并获取选中的数据内容

from PyQt5 import QtCore, QtGui, QtWidgetsfrom PyQt5.QtGui import QIconfrom PyQt5.QtWidgets import *from PyQt5.QtCore import *import pandas as pdimport numpy as npclass Ui_MainWindow(QMainWindow):    def __init__(self):        super(QtWidgets.QMainWindow, self).__init__()        self.setupUi(self)        self.retranslateUi(self)    def setupUi(self, MainWindow):        MainWindow.setObjectName("MainWindow")        MainWindow.resize(666, 488)        self.centralWidget = QtWidgets.QWidget(MainWindow)        self.centralWidget.setObjectName("centralWidget")        self.retranslateUi(MainWindow)        self.tableWidget = QtWidgets.QTableWidget(self.centralWidget)        self.tableWidget.setGeometry(QtCore.QRect(0, 60, 813, 371))        self.tableWidget.setObjectName("tableWidget")        self.tableWidget.setColumnCount(0)        self.tableWidget.setRowCount(0)        self.tableWidget.setStyleSheet("selection-background-color:pink")        self.tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers)        self.tableWidget.setSelectionBehavior(QTableWidget.SelectRows)        self.tableWidget.raise_()        # 设置图标        self.pushButton = QtWidgets.QPushButton(self.centralWidget)        self.pushButton.setGeometry(QtCore.QRect(90, 20, 75, 23))        self.pushButton.setObjectName("pushButton")        self.pushButton.setText("打开")        MainWindow.setCentralWidget(self.centralWidget)        QtCore.QMetaObject.connectSlotsByName(MainWindow)        self.pushButton.clicked.connect(self.openfile)        self.pushButton.clicked.connect(self.creat_table_show)        # 确定        self.okButton = QtWidgets.QPushButton(self.centralWidget)        self.okButton.setGeometry(QtCore.QRect(180, 20, 75, 23))        self.okButton.setObjectName("okButton")        self.okButton.setText("确定")        MainWindow.setCentralWidget(self.centralWidget)        QtCore.QMetaObject.connectSlotsByName(MainWindow)        self.okButton.clicked.connect(self.get_select)    def retranslateUi(self, MainWindow):        _translate = QtCore.QCoreApplication.translate        MainWindow.setWindowTitle(_translate("MainWindow", "测试数据"))        MainWindow.setWindowIcon(QIcon("./head.jpg"))        # MainWindow.show()    def get_select(self):        # print(self.tableWidget.columnCount()) # 返回列数        # print(self.tableWidget.rowCount())  # 返回行数        colomn = self.tableWidget.columnCount()        row_list = set()        for i in self.tableWidget.selectionModel().selection().indexes():            row_list.add(i.row())        # print(row_list)        select_data = []        for row in row_list:            row_data = [self.tableWidget.item(row, p).text() for p in range(colomn)]            select_data.append(row_data)        print(select_data)    def openfile(self):        # 获取路径        openfile_name = QFileDialog.getOpenFileName(self, '选择文件', '', 'Excel files(*.xlsx , *.xls)')        #print(openfile_name)        global path_openfile_name        path_openfile_name = openfile_name[0]    def creat_table_show(self):        # 读取表格,转换表格        if len(path_openfile_name) > 0:            input_table = pd.read_excel(path_openfile_name)            # print(1,input_table)            input_table_rows = input_table.shape[0]            input_table_colunms = input_table.shape[1]            # print(2,input_table_rows)            # print(3,input_table_colunms)            input_table_header = input_table.columns.values.tolist()            #print(input_table_header)            #读取表格,转换表格,给tablewidget设置行列表头            self.tableWidget.setColumnCount(input_table_colunms)            self.tableWidget.setRowCount(input_table_rows)            self.tableWidget.setHorizontalHeaderLabels(input_table_header)            #给tablewidget设置行列表头            #遍历表格每个元素,同时添加到tablewidget中            for i in range(input_table_rows):                input_table_rows_values = input_table.iloc[[i]]                #print(input_table_rows_values)                input_table_rows_values_array = np.array(input_table_rows_values)                input_table_rows_values_list = input_table_rows_values_array.tolist()[0]                 #print(input_table_rows_values_list)                for j in range(input_table_colunms):                    input_table_items_list = input_table_rows_values_list[j]                    #print(input_table_items_list)                    # print(type(input_table_items_list))                    #将遍历的元素添加到tablewidget中并显示                    input_table_items = str(input_table_items_list)                    newItem = QTableWidgetItem(input_table_items)                    newItem.setTextAlignment(Qt.AlignHCenter | Qt.AlignVCenter)                    self.tableWidget.setItem(i, j, newItem)        #遍历表格每个元素,同时添加到tablewidget中        else:            self.centralWidget.show()if __name__ == "__main__":    import sys    app = QtWidgets.QApplication(sys.argv)    MainWindow = QtWidgets.QMainWindow()    ui = Ui_MainWindow()    ui.setupUi(MainWindow)    MainWindow.show()    sys.exit(app.exec_())

以上为个人经验,希望能给大家一个参考,也希望大家多多支持wanshiok.com。


python通过ElementTree操作XML
python四则运算表达式求值示例详解
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1