PyQt5實(shí)現(xiàn)tableWidget 居中顯示
更新時(shí)間:2022年07月12日 11:32:11 作者:shiyue41
這篇文章主要介紹了PyQt5實(shí)現(xiàn)tableWidget 居中顯示方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
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", "測(cè)試數(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è)置行列表頭
#遍歷表格每個(gè)元素,同時(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)
#遍歷表格每個(gè)元素,同時(shí)添加到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_())以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python api構(gòu)建tensorrt加速模型的步驟詳解
小編個(gè)人認(rèn)為python比c++更容易讀并且已經(jīng)有很多包裝很好的科學(xué)運(yùn)算庫(kù)(numpy,scikit等),今天通過本文給大家分享Python api構(gòu)建tensorrt加速模型的步驟,感興趣的朋友一起看看吧2021-09-09
Python報(bào)錯(cuò)ModuleNotFoundError: No module named&
在嘗試導(dǎo)入TensorBoard模塊時(shí),你可能會(huì)遇到ModuleNotFoundError: No module named 'tensorboard'的錯(cuò)誤,下面我們來(lái)分析這個(gè)問題并提供解決方案,需要的朋友可以參考下2024-09-09
python?kornia計(jì)算機(jī)視覺庫(kù)實(shí)現(xiàn)圖像變化
這篇文章主要為大家介紹了python?kornia計(jì)算機(jī)視覺庫(kù)實(shí)現(xiàn)圖像變化算法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
使用Python生成隨機(jī)圖片驗(yàn)證碼的代碼詳解
當(dāng)我們?cè)趯懸粋€(gè)Web項(xiàng)目的時(shí)候一般要寫登錄操作,而為了安全起見,現(xiàn)在的登錄功能都會(huì)加上輸入圖片驗(yàn)證碼這一功能,所以本文就給大家介紹一下如何使用Python生成隨機(jī)圖片驗(yàn)證碼,需要的朋友可以參考下2023-07-07
Python判斷對(duì)象是否為文件對(duì)象(file object)的三種方法示例
這篇文章主要介紹了Python判斷對(duì)象是否為文件對(duì)象(file object)的三種方法示例,https://www.pythontab.com/html/2018/pythonhexinbiancheng_1015/1362.html2019-04-04
python去除列表中的空值元素實(shí)戰(zhàn)技巧
這篇文章主要介紹了python實(shí)戰(zhàn)技巧之去除列表中的空值元素,搜集針對(duì)python高效處理數(shù)據(jù)的核心代碼,今天是實(shí)現(xiàn)去除列表中的空值元素,需要的朋友可以參考下2023-02-02

