Qt学习1
Action 的用法
首先在头文件的 private 中加:
1
2
3
|
QMenu *fileMenu; QMenu *editMenu; QMenu *helpMenu; |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
void MainWindow::createActions() //! [17] //! [18] { newAct = new QAction(QIcon( ":/images/new.png" ), tr( "&New" ), this ); newAct->setShortcuts(QKeySequence::New); newAct->setStatusTip(tr( "Create a new file" )); connect(newAct, SIGNAL(triggered()), this , SLOT(newFile())); //! [19] openAct = new QAction(QIcon( ":/images/open.png" ), tr( "&Open..." ), this ); openAct->setShortcuts(QKeySequence::Open); openAct->setStatusTip(tr( "Open an existing file" )); connect(openAct, SIGNAL(triggered()), this , SLOT(open())); } |
menubar
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
fileMenu = menuBar()->addMenu(tr( "&File" )); fileMenu->addAction(newAct); //! [28] fileMenu->addAction(openAct); //! [28] fileMenu->addAction(saveAct); //! [26] fileMenu->addAction(saveAsAct); fileMenu->addSeparator(); fileMenu->addAction(exitAct); editMenu = menuBar()->addMenu(tr( "&Edit" )); editMenu->addAction(cutAct); editMenu->addAction(copyAct); editMenu->addAction(pasteAct); |
toolbar
1
2
3
4
5
6
7
8
9
10
11
|
fileToolBar = addToolBar(tr( "File" )); fileToolBar->addAction(newAct); //! [29] //! [31] fileToolBar->addAction(openAct); //! [31] fileToolBar->addAction(saveAct); editToolBar = addToolBar(tr( "Edit" )); editToolBar->addAction(cutAct); editToolBar->addAction(copyAct); editToolBar->addAction(pasteAct); |
Qsetting
1
2
3
|
QSettings settings( "QtProject" , "Application Example" ); settings.setValue( "pos" , pos()); settings.setValue( "size" , size()); |
1
2
3
|
QSettings settings( "QtProject" , "Application Example" ); QPoint pos = settings.value( "pos" , QPoint(200, 200)).toPoint(); QSize size = settings.value( "size" , QSize(400, 400)).toSize(); |
打开文本文件
1
2
3
4
5
6
7
8
9
|
void MainWindow::open() //! [7] //! [8] { if (maybeSave()) { QString fileName = QFileDialog::getOpenFileName( this ); if (!fileName.isEmpty()) loadFile(fileName); } } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
void MainWindow::loadFile( const QString &fileName) //! [42] //! [43] { QFile file(fileName); if (!file.open(QFile::ReadOnly | QFile::Text)) { QMessageBox::warning( this , tr( "Application" ), tr( "Cannot read file %1:\n%2." ) .arg(fileName) .arg(file.errorString())); return ; } QTextStream in(&file); #ifndef QT_NO_CURSOR QApplication::setOverrideCursor(Qt::WaitCursor); #endif textEdit->setPlainText(in.readAll()); #ifndef QT_NO_CURSOR QApplication::restoreOverrideCursor(); #endif setCurrentFile(fileName); statusBar()->showMessage(tr( "File loaded" ), 2000); } |
文本文件保存
1
2
3
4
5
6
7
8
9
|
bool MainWindow::saveAs() //! [11] //! [12] { QString fileName = QFileDialog::getSaveFileName( this ); if (fileName.isEmpty()) return false ; return saveFile(fileName); } |
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
|
bool MainWindow::saveFile( const QString &fileName) //! [44] //! [45] { QFile file(fileName); if (!file.open(QFile::WriteOnly | QFile::Text)) { QMessageBox::warning( this , tr( "Application" ), tr( "Cannot write file %1:\n%2." ) .arg(fileName) .arg(file.errorString())); return false ; } QTextStream out(&file); #ifndef QT_NO_CURSOR QApplication::setOverrideCursor(Qt::WaitCursor); #endif out << textEdit->toPlainText(); #ifndef QT_NO_CURSOR QApplication::restoreOverrideCursor(); #endif setCurrentFile(fileName); statusBar()->showMessage(tr( "File saved" ), 2000); return true ; } |
Qt学习1的更多相关文章
- QT学习第1天
QT学习第一天 坚持住!! 一 Qt概述 1.Qt发展历史 (1)1991年诞生(Haavard Nord/Eirik Chambe-Eng), (2)1994年创立Troll Tech(奇趣科技) ...
- 【转载】分享一些Qt学习资源,欢迎下载
资源来源:http://bbs.csdn.net/topics/390358737 经过我一翻整理,把一些我收集到的Qt学习资源分享给大家,主要适合新手,老鸟可以直接忽略我.要说明一下,很多资源都是在 ...
- QT学习之路--创建一个对话框
Q_OBJECT:这是一个宏,凡是定义信号槽的类都必须声明这个宏. 函数tr()全名是QObject::tr(),被他处理过的字符串可以使用工具提取出来翻译成其他语言,也就是做国际化使用. 对于QT学 ...
- 转载: Qt 学习之路 2归档
Qt 学习之路 2归档 http://www.devbean.net/2012/08/qt-study-road-2-catelog/
- Qt 学习资料
Qter开源社区http://www.qter.org/ [Qt教程], 作者yafeilinux [视频] QT学习之路:从入门到精通 <C++ Qt 编程视频教程>
- qt学习笔记(五) QGraphicsPixmapItem与QGraphicsScene的编程实例 图标拖动渐变效果
应大家的要求,还是把完整的project文件贴出来,大家省点事:http://www.kuaipan.cn/file/id_48923272389086450.htm 先看看执行效果,我用的群创7寸屏 ...
- Qt学习博客推荐
附录C Qt资源 C.1 Qt 官方资源 全 球各大公司以及独立开发人员每天都在加入 Qt 的开发社区.他们已经认识到了Qt 的架构本身便可加快应用程序开发进度.这些开发人员,无论是想开发单平台软件. ...
- qt学习教程1.qt开发环境搭建
qt学习教程1.qt开发环境搭建 首先下载qt 下载地址:http://download.qt.io/archive/qt/ 此教程使用的版本为5.1.1 下载好后,打开安装包,然后点下一步 选择一个 ...
- QT学习教程
原地址:http://www.devbean.NET/2012/08/qt-study-road-2-catelog/ 网上看到的不错的教程 本教程以qt5为主,部分地方会涉及qt4.据说非常适合qt ...
- Qt学习之路
Qt学习之路_14(简易音乐播放器) Qt学习之路_13(简易俄罗斯方块) Qt学习之路_12(简易数据管理系统) Qt学习之路_11(简易多文档编辑器) Qt学习之路_10(Qt ...
随机推荐
- windows下安装redis和memcached
redis安装: http://www.68idc.cn/help/server/20141128135092.html phpredis下载地址:https://github.com/phpredi ...
- linux top命令
top命令参数 -h:help表示显示帮助的意思 -v:version显示版本的意思,和-h的功能一样 -u:user显示指定用户的进程,例如:top -u root -p:pid显示指定进程,例如: ...
- Android Studio教程从入门到精通
最新2.0系列文章参考: Android Studio2.0 教程从入门到精通Windows版 - 安装篇Android Studio2.0 教程从入门到精通Windows版 - 入门篇Android ...
- html,css,js加载顺序
1.js放在head中会立即执行,阻塞后续的资源下载与执行.因为js有可能会修改dom,如果不阻塞后续的资源下载,dom的操作顺序不可控. 正常的网页加载流程是这样的. 浏览器一边下载HTML网页,一 ...
- 初识python中的类与对象
这篇博客的路线是由深入浅,所以尽管图画的花花绿绿的很好看,但是请先关注我的文字,因为初接触类的小伙伴直接看类的实现可能会觉得难度大,只要耐着性子看下去,就会有一种“拨开迷雾看未来”的感觉了. 一.py ...
- /proc/stat文件详解(翻译)
原文地址:http://www.linuxhowtos.org/System/procstat.htm 各种关于系统内核的活动信息都可以在/proc/stat文件中找到,该文件记录了自系统第一次启动以 ...
- js问题解释
今天群里有人问一个js问题,现列出以便其他人参考. Function.prototype.curry=function(){ var slice=Array.prototype.slice, args ...
- phpStudy
『软件简介』 该 程序包集成最新的Apache+Nginx+LightTPD+PHP+MySQL+phpMyAdmin+Zend Optimizer+Zend Loader,一次性安装,无须配置即可使 ...
- easyui-textbox 和 easyui-validatebox 设置值和获取值
表单作如下定义:该input使用easyui的"easyui-textbox" <input id="addSnumber" style="wi ...
- jquery中的cookie操作
使用前在页面中引入下面的代码 /*! * jQuery Cookie Plugin v1.4.1 * https://github.com/carhartl/jquery-cookie * * Cop ...