返回顶部
首页 > 资讯 > 后端开发 > Python >PyQt5实现tableWidget居中显示
  • 965
分享到

PyQt5实现tableWidget居中显示

2024-04-02 19:04:59 965人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录PyQt5 tableWidget 居中显示PyQt5 TableWidGet问题PyQt5 tableWidget 居中显示 newItem = QTableWidgetIte

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: PyQt5实现tableWidget居中显示

本文链接: https://lsjlt.com/news/119290.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • PyQt5实现tableWidget居中显示
    目录PyQt5 tableWidget 居中显示PyQt5 TableWidGet问题PyQt5 tableWidget 居中显示 newItem = QTableWidgetIte...
    99+
    2024-04-02
  • PyQt5如何实现tableWidget居中显示
    这篇文章主要介绍“PyQt5如何实现tableWidget居中显示”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PyQt5如何实现tableWidget居中显示”文章能帮助大家解决问题。PyQt5 ...
    99+
    2023-07-02
  • bootstarp modal框如何实现居中显示
    这篇文章主要为大家展示了“bootstarp modal框如何实现居中显示”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“bootstarp modal框如何实现...
    99+
    2024-04-02
  • html5中如何实现居中显示图片
    本篇内容介绍了“html5中如何实现居中显示图片”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • PYTHON之显示居中
    把字体显示在屏幕的中间sentence = raw_input("Sentence:") screen_width = 80text_width = len(sentence)box_width = text_width + 6left_m...
    99+
    2023-01-31
    PYTHON
  • 不写css使div居中显示怎么实现
    本教程操作环境:Windows10系统、CSS3版、DELL G3电脑不写css使div居中显示怎么实现?可以使用<center>标签。<center> 对其所包括的文本进行水平居中。实例将 HTML 网页中的文本进...
    99+
    2023-05-14
    css div
  • PyQt5实现多张图片显示并滚动
    最近要做个网页图片批量下载工具,然后需要一个页面显示网页上的所有图片供用户勾选,再根据勾选的内容来下载指定图片,其中就涉及到要到同时显示多张图片。 单页面显示多张图片 习惯性的用Gr...
    99+
    2024-04-02
  • PyQt5 实现状态栏永久显示消息
    前言: 课程设计打算用qt和python做一个上位机,现在的需求是要在状态栏永久显示串口号、波特率。状态栏的自身的方法无法让信息长久保留,但是我们可以为状态栏永久添加小控件 QSta...
    99+
    2024-04-02
  • 使用pyQT5显示网页的实现步骤
    目录1、PyQTWebEngine安装库2、设计窗体3、生成代码4、添加代码开发环境配置请参考博文: 【python】在PyCharm中使用pyQT5进行GUI开发的基本流程 1、...
    99+
    2024-04-02
  • html设置居中显示
    HTML 是网页设计中最常用的标记语言之一,而居中显示也是网页设计中最基本的显示方式之一。本篇文章将介绍如何使用 HTML 在网页中设置居中显示。一、水平居中1.1 使用文本对齐属性可以使用 text-align 属性来对 HTML 元素进...
    99+
    2023-05-21
  • Android 开发实现EditText 光标居右显示
     Android 开发实现EditText 光标居右显示 前言: 有些时候肯定会遇到这种奇葩的需求,光标要靠右显示,因为Android里面光标默认是靠左显示的,那怎么...
    99+
    2022-06-06
    edittext Android
  • css如何实现多张图片横向居中显示
    这篇文章将为大家详细讲解有关css如何实现多张图片横向居中显示,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码实现HTML部分   <div class=&...
    99+
    2023-06-08
  • PyQt5中怎么显示消息框
    在PyQt5中显示消息框可以使用QMessageBox类。以下是一个简单的例子: import sys from PyQt5.QtW...
    99+
    2024-03-12
    PyQt5
  • css div如何居中显示
    这篇文章给大家分享的是有关css div如何居中显示的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。css div居中显示的方法:1、使用absolute绝对定位,代码为【absolute居中定位】;2、使用tra...
    99+
    2023-06-08
  • Android DrawableTextView图片文字居中显示实例
     在我们开发中,TextView设置Android:drawableLeft一定使用的非常多,但Drawable和Text同时居中显示可能不好控制,有没有好的办法解决...
    99+
    2022-06-06
    居中 Android
  • PyQt5怎么实现状态栏永久显示消息
    这篇文章将为大家详细讲解有关PyQt5怎么实现状态栏永久显示消息,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言:课程设计打算用qt和python做一个上位机,现在的需求是要在状态栏永久显示串口号、波特...
    99+
    2023-06-14
  • PyQt5如何实现多张图片显示并滚动
    这篇文章主要为大家展示了“PyQt5如何实现多张图片显示并滚动”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PyQt5如何实现多张图片显示并滚动”这篇文章吧。单页面显示多张图片习惯性的用Grid...
    99+
    2023-06-15
  • 怎么用批处理实现文本内容居中显示
    这篇文章主要介绍了怎么用批处理实现文本内容居中显示,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。a.txt   代码: [Promise don't come eas...
    99+
    2023-06-08
  • c#居中显示怎么设置
    在 c# 中设置文本居中显示的方法有多种:使用 stringalignment 枚举:label1.textalign = stringalignment.center;使用 textf...
    99+
    2024-05-14
    c#
  • css实现图片大于div时的居中显示的方法
    本文小编为大家详细介绍“css实现图片大于div时的居中显示的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“css实现图片大于div时的居中显示的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作