Qwidget:一个普通的白板
QDialog:一个可模态显示的白板
QMainwind:一个支持菜单栏、工具栏等可折叠海量功能的白板
自定义dialog
系统内置组合dialog
输入:
QColorDialog
QFileDialog
QFontDialog
QInputDialog
输出:
QMessageBox
QProgressDialog
QErrorMessage
mainwindow
0.构造所有的action
相关代码和常用函数及注释
//0. 构造所有的action
QAction *new_action = new QAction(QIcon(":/img/new.png"), "新建");
new_action->setShortcut(QKeySequence("Ctrl+N"));//设置快捷键
connect(new_action, SIGNAL(triggered(bool)), this, SLOT(new_file()));
QAction *open_action = new QAction(QIcon(":/img/open.png"), "打开");
open_action->setShortcut(QKeySequence("Ctrl+O"));
connect(open_action, SIGNAL(triggered(bool)), this, SLOT(open_file()));
QAction *close_action = new QAction(QIcon(":/img/save.png"), "保存");
close_action->setShortcut(QKeySequence("Ctrl+X"));
connect(close_action, SIGNAL(triggered(bool)), this, SLOT(close_file()));
QAction *font_action = new QAction(QIcon(":/img/font.png"), "字体");
font_action->setShortcut(QKeySequence("Ctrl+f"));
connect(font_action, SIGNAL(triggered(bool)), this, SLOT(set_font()));
1. 获取菜单栏menuBar(),添加菜单->addMenu,添加选项
QMenu *fileMenu = menuBar()->addMenu("&File"); //&F: 用键盘Alt+f
fileMenu->addAction(new_action);//往菜单中加入隐藏的action
fileMenu->addAction(open_action);
fileMenu->addAction(close_action);
2. 工具栏QToolBar
2. 工具栏QToolBar
QToolBar *filetoolbar = addToolBar("file"); //添加一个工具栏,并且放入常用的action
filetoolbar->addAction(open_action);
QToolBar *edittoolbar = addToolBar("edit"); //添加一个工具栏,并且放入常用的action
edittoolbar->addAction(font_action);
QToolBar *xxxtoolbar = addToolBar("xxx"); //添加一个工具栏,并且放入常用的action
QToolButton *tb = new QToolButton;//工具按钮,可以在工具栏中添加窗口部件 工具按钮
tb->setText("xxx");
xxxtoolbar->addWidget(tb);
3.设置中央部件
3. 设置中央部件
te = new QTextEdit;//用一个文本编辑框作为中央部件
te->setMinimumSize(640, 480);
this->setCentralWidget(te);
4.状态栏
4. 状态栏
lb = new QLabel("1.txt*");
QStatusBar *st = statusBar();
st->addWidget(lb);//将label标签放入状态栏中
问题引入:为了让程序中使用的图片等资源能和代码融合在一起,需要建立资源文件将图片添加进去
右键点击项目-》添加新文件-》qt->qt resource file ->choose.
之后在新建好的资源文件中右键点击添加现有文件,将需要的资源添加进去