Chinaunix首页 | 论坛 | 博客
  • 博客访问: 384914
  • 博文数量: 102
  • 博客积分: 1395
  • 博客等级: 中尉
  • 技术积分: 1050
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-05 18:09
文章分类

全部博文(102)

文章存档

2013年(25)

2012年(77)

分类: C/C++

2012-11-05 21:15:25

    经过一段时间的思考还是决定学一下面向对象的编程, 自己以前都是在LINUX下搞程序设计的, 于是就选择了QT这个一上手的工具开始了QT之路。仅以日志的形式记录自己学习的过程也希望能够帮助到学习QT的朋友们。
    今天主要学习的是基本的语法基础:
QT同VC VS Eclipse一样也可以自动生成代码的, 这样就省去了很多繁琐的工作。任何一件事都有利弊如何MFC一样(学过MFC的很快就可以转到QT上来很相似 Q***  C***)MFC中一开始有可能连main函数都找不到, 这样来看QT还算不错的了, 最起码给你了程序的入口点一目了然很直观, 而MFC中确实在construct函数中调用WinMain这个宏(MFC中有很都宏的这也是不好学的原因所在)。其实在QT中你会发现有QApplication
和return *.exec()是必须有的这也是QT运行时的机制, 当执行到 *.exec()时就进入了另一个栈了最后返回程序执行的结果(出栈)。 
不论QT还是MFC他们在形式上都对应着新的类继承与提供的类头文件和源文件分开存放。
    下面 就是今天的主要内容:
QLabel 标签类   可以在其上放置 图片、 动画、 LCD等对象(请参考手册)
QPushButton  按钮类
布局管理器:
QGridLayout  网格布局
addWidget(QWidget *parent, int row, int coloum);有很都的重载函数
addWidget(a , b, c, d, e);这一个较麻烦一些就是多了行跨度和列跨度两个参数
QVBoxLayout  垂直布局
setMargin(int ) 设置布局管理器边框的距离
addStretch() 在两个对象之间加入间距
QHBoxLayout  水平布局

QDialog 对话框类  继承与QWidget
内件对话框(built-in)
QColorDialog  QErrorDialog QFileDialog QFontDialog QInputDialog QProgressDialog QPrintDialog   创建一个对象后就可以看到就全面的界面。
模态对话框(modal)与非模态对话框(modeless)
模态对话框是最普遍的对话框类型。模态对话框在消失之前用户不能与同一个应用程序的其他窗口进行交互, 直到该对话框关闭。对于非模态对话框, 当被打开时, 用户既可以选择与当前对话框交互也可以选择与同一应用程序的其他对话框交互。

模态对话框是栈上开辟的这就是为什么很多程序弹出一个对话框时你不关闭就无法继续运行的原因, 而非模态对话框是在堆上开辟的空间需要程序员释放, 所以这是你还可以进行其他的操作。
QT中, QDialog::exec() 以模态对话框显示, 而QDialog::show()默认以非模态对话框显示。




阅读(9741) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~