qt 一个简单的表格程序

这篇博客介绍如何使用QT库创建一个简单的表格程序。关键步骤包括继承QAbstractTableModel并实现虚函数,如设置行数、列数、数据、头数据以及表格格式。示例代码展示了树型布局和利用selectionMode调整窗口展示。
摘要由CSDN通过智能技术生成
#-------------------------------------------------
#
# Project created by QtCreator 2017-01-10T10:36:15
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = readonly
TEMPLATE = app


SOURCES += main.cpp\
        mymodel.cpp

HEADERS  += mymodel.h

FORMS    += mymodel.ui


#ifndef MYMODEL_H
#define MYMODEL_H

// mymodel.h
#include <QAbstractTableModel>

class MyModel : public QAbstractTableModel
{
    Q_OBJECT
public:
    MyModel(QObject *parent);
    int rowCount(const QModelIndex &parent = QModelIndex()) const;
    int columnCount(const QModelIndex &parent = QModelIndex()) const;
    QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
};

#endif // MYMODEL_H

// mymodel.cpp
#include "mymodel.h"



MyModel::MyModel(QObject *parent)
{

}

int MyModel::rowCount(const QModelIndex &parent) const
{
    return 2;
}

int MyModel::columnCount(const QModelIndex &parent) const
{
    return 3;
}

QVariant MyModel::data(const QModelIndex &index, int role) const
{
    if (role == Qt::DisplayRole)
    {
        return QString("Row%1, Column%2
Qt中打开Excel表格可以使用`QAxObject`类来实现,`QAxObject`类是Qt中用于与ActiveX对象交互的类。以下是一个示例代码,演示如何打开Excel表格: ``` QAxObject *excelApp = new QAxObject("Excel.Application", this); // Show Excel application window excelApp->setProperty("Visible", true); // Open the Excel workbook QAxObject *workbooks = excelApp->querySubObject("Workbooks"); QAxObject *workbook = workbooks->querySubObject("Open(const QString&)", "C:/path/to/your/workbook.xlsx"); // Activate the first worksheet QAxObject *worksheets = workbook->querySubObject("Worksheets"); QAxObject *worksheet = worksheets->querySubObject("Item(int)", 1); worksheet->dynamicCall("Activate()"); // Release resources worksheet->dynamicCall("Release()"); worksheets->dynamicCall("Release()"); workbook->dynamicCall("Release()"); workbooks->dynamicCall("Release()"); excelApp->dynamicCall("Quit()"); ``` 这段代码首先创建了一个`QAxObject`对象来表示Excel应用程序,然后调用了`setProperty`函数来显示Excel应用程序窗口。接下来,使用`querySubObject`函数打开了Excel工作簿,并使用`querySubObject`函数获取了第一个工作表。最后,使用`dynamicCall`函数激活了第一个工作表,并释放了所有的资源。 注意,使用`QAxObject`类需要包含`<QAxWidget>`头文件,并且需要在项目的`.pro`文件中使用`QT += axcontainer`配置项。此外,你需要将Excel的对象库添加到你的项目中,方法是在Qt Creator中打开项目的`pro`文件,然后单击菜单栏中的`Add Library`按钮,选择`External Library`,并在弹出的对话框中选择`Microsoft Excel Object Library`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值