1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
#include <QtGui>
class Notepad : public QMainWindow
{
Q_OBJECT
public:
Notepad();
private slots:
void newDocument();
void load();
void save();
void documentChanged(int index);
private:
QTextEdit *textEdit;
QAction *newDocumentAction;
QAction *loadAction;
QAction *saveAction;
QAction *exitAction;
QMenu *fileMenu;
QDockWidget *dockWidget;
QListWidget *listWidget;
QStringList documents;
int documentCount;
};
Notepad::Notepad()
{
newDocumentAction = new QAction(tr("&New"), this);
loadAction = new QAction(tr("&Load"), this);
saveAction = new QAction(tr("&Save"), this);
exitAction = new QAction(tr("E&xit"), this);
connect(newDocumentAction, SIGNAL(triggered()), this, SLOT(newDocument()));
connect(loadAction, SIGNAL(triggered()), this, SLOT(load()));
connect(saveAction, SIGNAL(triggered()), this, SLOT(save()));
connect(exitAction, SIGNAL(triggered()), qApp, SLOT(quit()));
fileMenu = menuBar()->addMenu(tr("&File"));
fileMenu->addAction(newDocumentAction);
fileMenu->addAction(loadAction);
fileMenu->addAction(saveAction);
fileMenu->addSeparator();
fileMenu->addAction(exitAction);
textEdit = new QTextEdit;
setCentralWidget(textEdit);
listWidget = new QListWidget;
connect(listWidget, SIGNAL(currentRowChanged(int)), this, SLOT(documentChanged(int)));
dockWidget = new QDockWidget;
dockWidget->setWidget(listWidget);
addDockWidget(Qt::LeftDockWidgetArea, dockWidget);
documentCount = 0;
newDocument();
setWindowTitle(tr("Notepad"));
}
void Notepad::documentChanged(int index)
{
}
void Notepad::newDocument()
{
listWidget->addItem(tr("Document %1").arg(documentCount++));
documents.append("");
}
void Notepad::load()
{
}
void Notepad::save()
{
}
int main(int argv, char **args)
{
QApplication app(argv, args);
Notepad notepad;
notepad.show();
return app.exec();
};
#include "main.moc"
|