- 论坛徽章:
- 11
|
不知道怎么回事,菜单, 工具栏都可以显示, 就是放在 layout中的 button 不显示, 代码如下:
2 #include "frame.h"
3 #include <QtGui>
4
5 Frame::Frame(){
6 createActions();
7 createMenus();
8 creatToolBars();
9 createStatusBar();
10
11 createWidgets();
12 }
13
14 Frame::~Frame(){
15 delete newAction;
16 delete saveAction;
17 delete aboutAction;
18
19 delete fileMenu;
20 delete helpMenu;
21
22 delete fileToolBar;
23 delete helpToolBar;
24 }
25
26 void Frame::createActions(){
27 newAction = new QAction(tr("&New"), this);
28 connect(newAction, SIGNAL(triggered()), this, SLOT(newFile()));
29
30 saveAction = new QAction(tr("&Save"), this);
31 connect(saveAction, SIGNAL(triggered()), this, SLOT(saveFile()));
32
33 aboutAction = new QAction(tr("&About"), this);
34 connect(aboutAction, SIGNAL(triggered()), this, SLOT(about()));
35
36 quitAction = new QAction(tr("&Quit"), this);
37 connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit()));
38 }
39
40 void Frame::createMenus(){
41 fileMenu = menuBar()->addMenu(tr("&File"));
42 fileMenu->addAction(newAction);
43 fileMenu->addAction(saveAction);
44 fileMenu->addSeparator();
45 fileMenu->addAction(quitAction);
46
47 helpMenu = menuBar()->addMenu(tr("&Help"));
48 helpMenu->addAction(aboutAction);
49 }
50
51 void Frame::creatToolBars(){
52 fileToolBar = addToolBar(tr("&File"));
53 fileToolBar->addAction(newAction);
54 fileToolBar->addAction(saveAction);
55
56 helpToolBar = addToolBar(tr("&Help"));
57 helpToolBar->addAction(aboutAction);
58 }
59
60 void Frame::createWidgets(){
61 QVBoxLayout* layout = new QVBoxLayout;
62
63 QGridLayout* topLayout = new QGridLayout;
64 //QHBoxLayout* botLayout = new QHBoxLayout;
65
66 createTopWidgets(topLayout);
67 //createBotWidgets(botLayout);
68
69 layout->addLayout(topLayout);
70 //layout->addLayout(botLayout);
71 setLayout(layout);
72 }
73
74 void Frame::createTopWidgets(QGridLayout* layout){
75 QPushButton* button1 = new QPushButton("button1");
76 QPushButton* button2 = new QPushButton("button2");
77 QPushButton* button3 = new QPushButton("button3");
78 QPushButton* button4 = new QPushButton("button4");
79 QPushButton* button5 = new QPushButton("button5");
80 QPushButton* button6 = new QPushButton("button6");
81
82 layout->addWidget(button6, 0, 0, 1, 1);
83 layout->addWidget(button4, 0, 1, 1, 1);
84 layout->addWidget(button5, 0, 2, 1, 1);
85 layout->addWidget(button3, 1, 0, 1, 1);
86 layout->addWidget(button1, 1, 1, 1, 1);
87 layout->addWidget(button2, 1, 2, 1, 1);
88 }
55,0-1 Top |
|