PyQt5實現(xiàn)tableWidget 居中顯示
更新時間:2022年07月12日 11:32:11 作者:shiyue41
這篇文章主要介紹了PyQt5實現(xiàn)tableWidget 居中顯示方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
PyQt5 tableWidget 居中顯示
newItem = QTableWidgetItem("內(nèi)容") # 居中顯示 newItem.setTextAlignment(Qt.AlignHCenter | Qt.AlignVCenter)
PyQt5 TableWidGet問題
使用pyqt5展示excel的數(shù)據(jù)到桌面,并獲取選中的數(shù)據(jù)內(nèi)容
from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtGui import QIcon from PyQt5.QtWidgets import * from PyQt5.QtCore import * import pandas as pd import numpy as np class 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_() # 設(shè)置圖標(biāo) 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", "測試數(shù)據(jù)")) MainWindow.setWindowIcon(QIcon("./head.jpg")) # MainWindow.show() def get_select(self): # print(self.tableWidget.columnCount()) # 返回列數(shù) # print(self.tableWidget.rowCount()) # 返回行數(shù) 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): # 讀取表格,轉(zhuǎn)換表格 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) #讀取表格,轉(zhuǎn)換表格,給tablewidget設(shè)置行列表頭 self.tableWidget.setColumnCount(input_table_colunms) self.tableWidget.setRowCount(input_table_rows) self.tableWidget.setHorizontalHeaderLabels(input_table_header) #給tablewidget設(shè)置行列表頭 #遍歷表格每個元素,同時添加到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_())
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
pytorch?tensor按廣播賦值scatter_函數(shù)的用法
這篇文章主要介紹了pytorch?tensor按廣播賦值scatter_函數(shù)的用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06

Python HTMLParser模塊解析html獲取url實例
這篇文章主要介紹了Python HTMLParser模塊解析html獲取url實例,HTMLParser是python用來解析html的模塊,HTMLParser采用的是一種事件驅(qū)動的模式,需要的朋友可以參考下
2015-04-04 
Python數(shù)據(jù)結(jié)構(gòu)列表
這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)列表,本文重點內(nèi)容主要是對列表數(shù)據(jù)結(jié)構(gòu)的使用,在Python中,序列是一組按順序排列的值。Python?有?3?種內(nèi)置的序列類型:字符串、?元組和列表,下面一起進(jìn)入文章了解更詳細(xì)內(nèi)容吧,需要的小伙伴可以參考一下</P><P>
2021-12-12 
Python中的collections集合與typing數(shù)據(jù)類型模塊
這篇文章介紹了Python中的collections集合與typing數(shù)據(jù)類型模塊,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
2022-05-05