Qt 电子表格(一)

 

 

 

 

bool QTableWidget::showGrid() const; // 判断当前是否显示网格线

void QTableWidget::setShowGrid(bool show); // 设置显示或隐藏网格线

 

 

 

// 实现电子表格的方法

QMainWindow::QMainWindow()

    setCentralWidget(new QTableWidget);

        QTableWidget::QTableWidget()

            setItemPrototype(new QTableWidgetItem);      

   setRowCount(RowCount);       // 行数

            setColumnCount(ColumnCount); // 列数 

 

QMainWindow::show();

 

 

//

// main.cpp

#include <QApplication>

#include <QMainWindow>

#include <QTableWidgetItem>

#include <QTableWidget>

 

#pragma comment(lib, "QtCore4.lib") 

#pragma comment(lib, "QtGui4.lib")

 

class Cell : public QTableWidgetItem

{

 

};

 

class Spreadsheet : public QTableWidget

{

public:

    Spreadsheet(QWidget *parent = 0);

 

    void clear();

private:

    enum { RowCount = 999, ColumnCount = 26 };

};

 

 

Spreadsheet::Spreadsheet(QWidget *parent)

: QTableWidget(parent)

{

    // 设置单元格的原型

    setItemPrototype(new Cell);

 

    clear();

}

 

void Spreadsheet::clear()

{

    // 先清空单元格

    setRowCount(0);

    setColumnCount(0);

 

    // 初始化行数和列数

    setRowCount(RowCount);

    setColumnCount(ColumnCount);

 

    // 设置单元格的Title

    // 行用1,2,3 标识

    // 列用A,B,C 标识

    for (int i = 0; i < ColumnCount; ++i) {

        QTableWidgetItem *item = new QTableWidgetItem;

        item->setText(QString(QChar('A' + i)));

        setHorizontalHeaderItem(i, item);

    }

 

    setCurrentCell(0, 0);

}

 

class MainWindow : public QMainWindow

{

public:

    MainWindow();

 

private:

    Spreadsheet *spreadsheet;

 

};

 

MainWindow::MainWindow()

{

    spreadsheet = new Spreadsheet;

 

    // 重要!!

    setCentralWidget(spreadsheet);

 

}

 

int main(int argc, char *argv[])

{

    QApplication app(argc, argv);

 

    MainWindow mainWin;

    mainWin.show();

 

    return app.exec();

}

//

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值