pyqt5 tableview,pyqt5中tablewidget添加数据

  pyqt5 tableview,pyqt5中tablewidget添加数据

  这篇文章主要介绍了PyQt5实现表格小部件居中显示方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  

目录

PyQt5表格小部件居中显示PyQt5表格小部件问题

 

  

PyQt5 tableWidget 居中显示

 

  newItem=QTableWidgetItem(内容)

  # 居中显示

  新项目。设置校准(Qt .阿利根中心 Qt .AlignVCenter)

  

PyQt5 TableWidGet问题

 

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

  从PyQt5导入QtCore、QtGui、QtWidgets

  来自PyQt5 .模块进口QIcon

  来自PyQt5 .QtWidgets导入*

  来自PyQt5 .QtCore导入*

  进口熊猫作为螺纹中径

  将数组作为铭牌导入

  类Ui _主窗口(QMainWindow):

  def __init__(self):

  超级(QtWidgets .QMainWindow,self).__init__()

  self.setupUi(self)

  self.retranslateUi(self)

  def setupUi(自身,主窗口):

  主窗口。设置对象名称(“主窗口”)

  主窗口。调整大小(666488)

  self.centralWidget=QtWidgets .QWidget(主窗口)

  自我。centralWidget。设置对象名称( centralWidget )

  self.retranslateUi(主窗口)

  self.tableWidget=QtWidgets .QTableWidget(self。centralwidget)

  自我。表格小部件。设置几何图形(Qt核心部分.QRect(0,60,813,371))

  自我。表格小部件。设置对象名称(“表格小部件”)

  自我。表格小部件。setcolumncount(0)

  self.tableWidget.setRowCount(0)

  自我。表格小部件。设置样式表(“选择-背景-颜色:粉红色”)

  自我。表格小部件。setedit触发器(QAbstractItemView .无编辑触发器)

  自我。表格小部件。setselectionbehavior(QTableWidget .选择行)

  self.tableWidget.raise_()

  # 设置图标

  self.pushButton=QtWidgets .q按钮(self.centralWidget)

  自我。按钮。设置几何图形(Qt核心部分.QRect(90,20,75,23))

  自我。按钮。设置对象名称(“按钮”)

  self.pushButton.setText(打开)

  主窗口。setcentralwidget(self。centralwidget)

  QtCore .QMetaObject.connectSlotsByName(主窗口)

  自我。按钮。点击了。连接(自我。openfile)

  自我。按钮。点击了。连接(自我。创建_表格_显示)

  # 确定

  self.okButton=QtWidgets .q按钮(自身

  .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_())

  以上为个人经验,希望能给大家一个参考,也希望大家多多支持盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: