### QT学习笔记知识点详解 #### 一、布局管理器 在QT中,布局管理器是一种非常重要的机制,用于管理窗口中的各个控件的位置和大小。布局管理器能够自动调整控件的位置和大小,以适应窗口的变化,使得界面设计更加灵活且易于维护。 - **QVBoxLayout**:垂直布局管理器,它会将控件垂直排列。 - **QHBoxLayout**:水平布局管理器,它会将控件水平排列。 示例代码展示了如何使用`QVBoxLayout`来管理两个控件——一个标签和一个按钮: ```cpp #include<QtGui/QApplication> #include<QtGui/QWidget> #include<QtGui/QLabel> #include<QtCore/QTextCodec> #include<QtGui/QPushButton> #include<QtGui/QVBoxLayout> int main(int argc, char *argv[]) { QApplication app(argc, argv); QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030")); QWidget *pWidget = new QWidget; QLabel label(pWidget); label.setText(QObject::tr("同一个世界,同一个梦想!")); QPushButton *btn = new QPushButton(QObject::tr("关闭"), pWidget); QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(&label); layout->addWidget(btn); pWidget->setLayout(layout); QObject::connect(btn, SIGNAL(clicked()), pWidget, SLOT(close())); pWidget->show(); return app.exec(); } ``` **关键点解释**: 1. **头文件**:包含了创建QT应用所需的所有QT类的声明。 2. **QApplication**:是所有QT GUI应用程序的基类,负责初始化和管理整个GUI应用程序。 3. **QTextCodec::setCodecForTr**:设置QT内部字符串转换使用的编码方式,这里设置为“gb18030”,以支持中文。 4. **QWidget**:QT中最基础的窗口部件类,其他大多数窗口部件都是它的子类。 5. **QLabel**:用来显示静态文本或图像。 6. **QPushButton**:提供一个可以点击的按钮。 7. **QVBoxLayout**:垂直布局管理器,用于组织窗口部件垂直排列。 8. **QObject::connect**:连接信号和槽,当按钮被点击时触发窗口关闭动作。 #### 二、基本窗口部件 QT提供了多种窗口部件,如按钮、标签等,这些部件可以组成复杂的用户界面。 示例代码展示了一个简单的QT程序,其中包括一个带有关闭按钮的窗口以及一个欢迎标签: ```cpp #include<QtGui/QtGui> int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget window; window.resize(200, 120); QPushButton quit("Exit", &window); quit.setFont(QFont("Times", 17, QFont::Bold)); quit.setGeometry(10, 40, 180, 40); QLabel label("Welcome", &window); window.show(); QObject::connect(&quit, SIGNAL(clicked()), &window, SLOT(close())); return a.exec(); } ``` **关键点解释**: 1. **QWidget window;**:创建一个非模态的窗口部件。 2. **QPushButton quit("Exit", &window);**:创建一个按钮,并设置其文本为“Exit”。 3. **QFont**:字体设置类,用于设置按钮的字体样式。 4. **QLabel**:显示一个静态文本。 5. **QWidget::resize**:设置窗口的初始大小。 6. **QPushButton::setFont**:设置按钮的字体。 7. **QPushButton::setGeometry**:设置按钮的位置和大小。 8. **QWidget::show**:显示窗口部件。 9. **QObject::connect**:连接按钮的点击信号与窗口的关闭槽。 #### 三、QT模块概述 QT提供了多个模块,每个模块包含相对独立的库文件并实现各自相应的功能,主要包括以下几种: - **QtCore**:QT4的基本模块,定义了其他模块使用的Qt核心的非GUI类,所有的其他模块均依赖于它。 - **QtGui**:图形用户界面类,提供了基本的GUI工具,如窗口、按钮等。 - **QtNetwork**:网络编程类,用于网络通信。 - **QtOpenGL**:OpenGL支持类,用于高性能的2D和3D图形渲染。 - **QtSql**:访问数据库的类,用于与各种关系型数据库进行交互。 - **QtUiTools**:UI类,主要用于设计时的操作,例如加载UI文件等。 以上就是从给定文件中的标题、描述、标签以及部分内容中提取的关键知识点,希望对学习QT有所帮助。
剩余6页未读,继续阅读
- siniankaka2013-04-30挺好的资源,挺适合初学者的,如果有代码就更好了
- 粉丝: 45
- 资源: 13
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助