PyQt5中tableWidget居中代码怎样写
Admin 2022-07-27 群英技术资讯 854 次浏览
newItem = QTableWidgetItem("内容") # 居中显示 newItem.setTextAlignment(Qt.AlignHCenter | Qt.AlignVCenter)
使用pyqt5展示excel的数据到桌面,并获取选中的数据内容
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_() # 设置图标 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_())
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章给大家分享的是python常用库的相关内容,python常用库包括有os、configparser、openpyxl、loguru、time、unittest等,那么具体这些库怎样使用呢?下面我们一起来了解看看。
这篇文章介绍了Python中的sys模块、random模块和math模块,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
可以根据所使用的操作数更改Python中运算符的含义。这种做法被称为运算符重载。Python操作系统适用于内置类。 但同一运算符的行为在不同的类型有所不同。 例如,+运算符将对两个数字执行算术加法,合并两个列表并连接两个字符串。
这篇文章主要介绍了Python基础知识+结构+数据类型,文章基于python基础知识围绕主题展开详细内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
__str__()方法,这个方法是一个魔法方法 (Magic Method) ,用来显示信息,该方法需要 return 一个数据,并且只有self一个参数,当在类的外部 print(对象) 则打印这个数据,当类的实例化对象如果没有__str__ 则默认打印 对象在内存的地址。如果拥有 __str__ 方法后,那么打印对象则打印 __str__ 的返回值。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008