首页 > 其他分享 >QT的表格控件-QTableWidget

QT的表格控件-QTableWidget

时间:2024-06-14 22:00:18浏览次数:12  
标签:控件 horizontalLayout QT QTableWidget widget new row 属性

什么是QTableWidget

        QTableWidget是以行和列的形式展示数据的二维表格,每个单元格由一个QTableWidgetItem对象表示,它提供插入、删除行或列、以及访问和修改单元格内容等操作方法,还可以自定义行和列的表头,功能非常强大。

界面设置QTableWidget

        打开页面编辑器,左侧找到Table Widget控件并拖拽进来,可按需调整控件大小

5d4709dc44994421bc3c14b91f8b8b45.png

        双击Table Widget,弹出编辑表格窗口部件的弹窗,在这里我们可以编辑表格的内容,首先是列,我们可以自定义添加表格的每一列

1ea0b6c3525f4b7e873480171e9339b0.png

        再添加行,输入自定义的内容即可

d54ddba197f74d5594062a0da61ce773.png

        切换到项目,可为每一个单元格输入数据

1c3bb3a27b5f4c7e89cae1f8a7ea0b91.png

        完成上面的内容输入后,通过 工具 -- 界面编辑器 -- 预览 看效果,一个简单的表格就设置完成了

31c0f1e09df64f56ac88c1169bb1cb63.png

属性

QTableWidget的属性

        在右侧控件对象中,选中QTableWidget,属性下拉到最下方,可以看到QTableWidget的属性只有两个,rowCount和columnCount,分别代表行数和列数

5ed82ff94b384ce7b837c700f09a0657.png

        修改其值后,我们可以看到表格的行和列也随之发生变化

a57642a88e26475b9b0e77a66b65d7ba.png

单元格属性

        首先来看列和行的属性,这两个支持的属性是一致的,可设置字体相关属性、内容排列方式、背景色等基本属性

9ee7025c2690456a86d1dbc09381e34e.pngc3339d897b22461a9bc914c288726b3d.png

        项目的属性除了上面与列和行一致的部分以外,还支持一些可选择、可编辑等的操作,更多属性用法在QT助手中查询。

5874e97f7cea4a168f5087a15d7a5c70.png

代码实现QTableWidget

         我们来看下用代码如何实现这个页面

1、创建一个QWidget的主窗体,在.cpp的文件中添加如下代码

    QHBoxLayout *horizontalLayout = new QHBoxLayout;

    //左侧菜单区
    QWidget *widget = new QWidget;
    QHBoxLayout *horizontalLayout_2 = new QHBoxLayout;
    QLabel *label = new QLabel(widget);
    label->setText("菜单区");
    label->setStyleSheet("QLabel { color: white;font-size: 20pt;}");

    horizontalLayout_2->addWidget(label);
    widget->setLayout(horizontalLayout_2);
    widget->setStyleSheet(QString::fromUtf8("background-color: rgb(21, 30, 81);"));

    //右侧Table
    QTableWidget *tableWidget = new QTableWidget;
    // 设置行和列
    tableWidget->setRowCount(3);
    tableWidget->setColumnCount(5);

    // 设置表头
    QStringList headerLabels;
    headerLabels << "第一列" << "第二列" << "第三列" << "第四列" << "第五列";
    tableWidget->setHorizontalHeaderLabels(headerLabels);
    QStringList verticalLabels;
    verticalLabels  << "第一行" << "第二行" << "第三行";
    tableWidget->setVerticalHeaderLabels(verticalLabels);

    // 添加数据
    for (int row = 0; row < 3; ++row) {
        for (int col = 0; col < 5; ++col) {
            QTableWidgetItem *newItem = new QTableWidgetItem(QString("行%0, 列%1").arg(row+1).arg(col+1));
            tableWidget->setItem(row, col, newItem);
        }
    }

    horizontalLayout->addWidget(widget);
    horizontalLayout->addWidget(tableWidget);
    horizontalLayout->setStretch(1, 5);

    this->setLayout(horizontalLayout);
    // 窗口的大小及位置,左上角坐标(300, 300),宽度1600,高度1000
    this->setGeometry(QRect(300, 300, 1600, 1000));

2、表格创建好了,执行一下

标签:控件,horizontalLayout,QT,QTableWidget,widget,new,row,属性
From: https://blog.csdn.net/qq_52137592/article/details/139666020

相关文章

  • 基于python_CNN深度学习的路面故障瑕疵检测-含数据集+pyqt界面
    代码下载地址:https://download.csdn.net/download/qq_34904125/89383045本代码是基于pythonpytorch环境安装的。下载本代码后,有个requirement.txt文本,里面介绍了如何安装环境,环境需要自行配置。或可直接参考下面博文进行环境安装。深度学习环境安装教程-anaconda-python-......
  • 基于python_CNN深度学习的猫狗表情识别-含数据集+pyqt界面
    代码下载地址:https://download.csdn.net/download/qq_34904125/89383039本代码是基于pythonpytorch环境安装的。下载本代码后,有个requirement.txt文本,里面介绍了如何安装环境,环境需要自行配置。或可直接参考下面博文进行环境安装。深度学习环境安装教程-anaconda-python-......
  • PyQT5内嵌html
    importosimportsysfromPyQt5.QtCoreimport*fromPyQt5.QtGuiimport*fromPyQt5.QtWidgetsimport*fromPyQt5.QtWebEngineWidgetsimport*classWebEngineView(QMainWindow):def__init__(self):super().__init__()self.setWindowTit......
  • PyQT5之QListView
    fromPyQt5.QtWidgetsimportQMessageBox,QListView,QStatusBar,QMenuBar,QMenu,QAction,QLineEdit,QStyle,QFormLayout,QVBoxLayout,QWidget,QApplication,QHBoxLayout,QPushButton,QMainWindow,QGridLayout,QLabelfromPyQt5.QtGuiimportQIcon,QPixmap,QS......
  • QT界面布局
    一.按钮组按钮组主要是设置控件,美化布局,在UI文件中可以找到Buttons的按钮组控件布局注意:任何一组控件的添加务必先编辑,否则在代码编写中无法识别。1.QPushButton普通按钮常用于设置自己常用的登录退出及嵌套其他窗口的按键2.QToolButton工具按钮作用:常用于显示图片,可......
  • 使用QT制作QQ登录界面
    mywidget.cpp#include"mywidget.h"Mywidget::Mywidget(QWidget*parent):QWidget(parent){/********制作一个QQ登录界面*********************/this->resize(535,415);//设置登录窗口大小this->setFixedSize(535,415);//固定窗口大小this->setW......
  • 基于python-CNN深度学习的手势识别数字-含数据集+pyqt界面
    代码下载:https://download.csdn.net/download/qq_34904125/89379220本代码是基于pythonpytorch环境安装的。下载本代码后,有个requirement.txt文本,里面介绍了如何安装环境,环境需要自行配置。或可直接参考下面博文进行环境安装。深度学习环境安装教程-anaconda-python-pyto......
  • 基于python_cnn深度学习的decks的裂缝识别-含数据集+pyqt界面
    代码下载:https://download.csdn.net/download/qq_34904125/89379212本代码是基于pythonpytorch环境安装的。下载本代码后,有个requirement.txt文本,里面介绍了如何安装环境,环境需要自行配置。或可直接参考下面博文进行环境安装。深度学习环境安装教程-anaconda-python-pyto......
  • 解决方案 | winrar 使用命令行解压到同名文件夹 (QTTabBar 中创建一个【解压文件】命令
     需求:我们经常需要把rar或者zip解压到当前文件夹,如果是直接解压的话可能会解压出来很多文件,事实上我们当然可以通过右键解压到这个指定文件夹。  但是经过查询知道,如果是指定文件夹好说,直接指定.\new_data\表示在当前目录下的new_data文件夹即可。但是这不是我想要的,我想......
  • PyQT5之QPainter
    参考https://www.cnblogs.com/jgg54335/p/14904853.html实例一:importsysfromPyQt5.QtWidgetsimportQApplication,QWidgetfromPyQt5.QtGuiimportQPainter,QColor,QFontfromPyQt5.QtCoreimportQtclassDrawing(QWidget):def__init__(self,parent=None):......