资讯专栏INFORMATION COLUMN

如何在PyQt5实现tableWidget居中显示

89542767 / 2120人阅读


  小编写这篇文章的主要目的,是用来给大家介绍关于PyQt5中,怎么才能够实现tableWidget居中显示呢?具体的实操,下面就给大家进行详细的介绍一下。


  PyQt5 tableWidget居中显示


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


  PyQt5 TableWidGet问题


  使用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_())

  综上所述,关于PyQt5实现tableWidget居中显示内容就为大家介绍到这里了,希望可以给各位读者带来帮助。


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/127812.html

相关文章

  • Windows环境下使用Python设计应用软件——【6】pyqt通过勾选框选择对TableWidg

    摘要:本文主要用于自我整理总结,方便后续参考,如果恰好帮助到你,也是件值得高兴的事先展示下这次实现的具体功能具体程序如下导入设计界面设计的弹窗窗体的大小宽,高我是弹窗窗体的标题显示窗口标题栏这样写出来要什么,就可以将右上 ...

    stefan 评论0 收藏0
  • python 使用PyQt5

    摘要:一安装二简单使用使用创建一个简单窗口创建一个应用对象参数是一个来自命令行的参数列表脚本可以在中运行。这是我们用来控制我们应用启动的一种方法。 一:安装PyQt5 pip install pyqt5 二:PyQt5简单使用1:使用PyQt5创建一个简单窗口 import sys from PyQt5 import QtWidgets #创建一个应用(Application)对象,sys...

    CoreDump 评论0 收藏0
  • hello world!——pyQT

    摘要:控件是一个用户界面的基本控件,它提供了基本的应用构造器。默认情况下,构造器是没有父级的,没有父级的构造器被称为窗口。这就意味着,我们调用了两个构造器,一个是这个类本身的,一个是这个类继承的。构造器方法返回父级的对象。 本章学习Qt的基本功能 例1,简单的窗口 这个简单的小例子展示的是一个小窗口。但是我们可以在这个小窗口上面做很多事情,改变大小,最大化,最小化等,这需要很多代码才能实现。...

    xumenger 评论0 收藏0
  • PyQt5, Label

    摘要:创建标签小部件是通过构造函数创建的参数可以忽略,文本可以选择。稍后指定,或在构造时定义。但是,某些小部件无法显示助记符,因此,可以与其他小部件配对。这可以在使用快捷键时将焦点从标签转移到其他小部件。 showImg(https://segmentfault.com/img/bVbeVpm?w=4000&h=1936); 简介 标签组件用于向用户显示文本,它可以是另一个组件的目的单词标签...

    SolomonXie 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<