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 ...
随机推荐
- Learning Roadmap of Deep Reinforcement Learning
1. 知乎上关于DQN入门的系列文章 1.1 DQN 从入门到放弃 DQN 从入门到放弃1 DQN与增强学习 DQN 从入门到放弃2 增强学习与MDP DQN 从入门到放弃3 价值函数与Bellman ...
- CSS3之尖角标签
如图所示,Tag标签的制作通常使用背景图片,现在用CSS3代码就能实现尖角效果(需浏览器支持CSS3属性). 运用CSS3样式实现尖角标签,只需要写简单的HTML结构和CSS样式. <p> ...
- 深入浅出设计模式——建造者模式(Builder Pattern)
模式动机无论是在现实世界中还是在软件系统中,都存在一些复杂的对象,它们拥有多个组成部分,如汽车,它包括车轮.方向盘.发送机等各种部件.而对于大多数用户而言,无须知道这些部件的装配细节,也几乎不会使用单 ...
- json对象,数组,字符串总结
关于json对象,数组,字符串的总结 什么是json? JSON(JavaScript Object Notation) 一种轻量级的数据交换格式,JSON采用完全独立于语言的文本格式...(来自百 ...
- Android 四大组件之二(Service)
service可以在和多场合的应用中使用,比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,再或者在后台记录你地理信息位置的改变等等,总之服务 ...
- JVM 内存
大多数 JVM 将内存区域划分为 Method Area(Non-Heap)(方法区) ,Heap(堆) , Program Counter Register(程序计数器) , VM Stack( ...
- Redis设计思路学习与总结
版权声明:本文由宋增宽原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/222 来源:腾云阁 https://www.qclo ...
- KindEditor4.1.10,支持粘贴图片(转载!)
本人扩展了KindEditor4.1.10,使得他能够在Chrome和IE11中直接粘贴复制的图片(比如通过截图工具把图片直接保存在剪切板中),然后调用上传URL上传图片 方法,修改kindedito ...
- AS3绘制扇形算法解析
网上有很多使用AS3画一个扇形的方法,但是却一个都没有解释这个函数是如何运作来画出扇形的,下面浅谈下我对这个函数的理解. 首先上代码,代码来自http://blog.csdn.net/weiming8 ...
- css3制作惊艳hover切换效果
css3制作经验hover切换效果 <!DOCTYPE html><html> <head> <meta charset="UTF-8" ...