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();
}
//