qt4 hello world 例子

vs2005集成qt4

在安装qt4 的开发环境后, 还一直没有认真去学过, 官方的demo 倒是看了, 但是作为一个新手, 还是一步一步来好一点!

 

所以 hello world 来了!

 

在vs2005 新建一个qt application 项目, 命名为 "qt_test1"

 

该项目的有个 main.cpp 文件, 我们最主要的文件.

 

#include "qt_test1.h"       //这个也可以去掉
#include <QtGui/QApplication>
#include <QLabel>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);


    //qt_test1 w;       //系统默认加的,注释掉
    //w.show();         //系统默认加的,注释掉


    QLabel *label = new QLabel("hello world!");
    label->show();

    return app.exec();
}

 

说明: 

1. include QApplication 是必要的, 当你写 <QApplication> 或 <QApplication.h> 都是没问题的.

 

2. 因为我们用到了 QLabel 作为文字的载体, 所以也必须include QLabel, 当然你用到哪个微件, 你就inclue 哪个微件!

 

3. QApplication app(argc, argv);

    return app.exec();

    这两行代码是必要的,  第一行是创建一个QApplication 对象, 管理应用程序的资源; 第二行是让程序进入消息循环, 等待可能的菜单, 工具条, 鼠标等的输入, 进行响应.  (这个<C++ GUI Promgramming with Qt4> 里面写的, 本人是引用而已).

 

4. QLabel *label = new QLabel("hello world!"); 动态创建一个带文本的QLabel 微件的对象.

    label->show(); 调用show 方法使其可以在界面上显示, 由于微件创建的时候是默认隐藏的, 所以我们有必要显式的让他们显示. 

    QLabel 是支持Html 文本格式的, 如 "<h1>Hello world!</h1>", 好像qt 有类似于css 的qss 呢!

    QT 把所有如 QLabel, QPushButton 等微件都当作应用程序窗口, 而不局限于 QMainWindow 或 QDialog, 所以你可以在这些微件中加入其他的如 QMenuBar, QToolBar等微件. 最简单的验证方法: new 两个QLabel 对象, 并让他们显示!. 是不是有两个窗口呢?

   

    看来继承自 QWidget 的类都可以当作应用程序窗口.

 

5. 最后要说一下, 不要在main 方法最后调用 delete.相信很多C++ 高手都知道new 和 delete, 并且知道他们要成对出现, 不然将会照成内存泄露. 但是不必担心, 这些内存将会在应用程序终止后被系统回收(晕, 完全靠系统来回收).

 

按F5 启动调试吧, 出来一个小窗口, 好难看- -!

 

### Qt HelloWorld 示例代码 #### 使用纯代码方式实现HelloWorld窗口 下面展示了一个完整的Qt应用程序,该程序会创建一个带有“Hello world!”标签的小窗口。 ```cpp #include <QApplication> #include <QDialog> #include <QLabel> int main(int argc, char *argv[]) { QApplication a(argc, argv); // 创建对话框窗口并设置大小 QDialog w; w.resize(400, 300); // 添加标签到窗口中,并移动位置以及设定文本内容 QLabel label(&w); label.move(120, 100); label.setText("Hello world!"); // 显示窗口 w.show(); // 进入事件循环处理过程 return a.exec(); } ``` 这段代码展示了如何通过C++语言利用Qt库来构建GUI应用的基础框架[^3]。此例子中的`QApplication`, `QDialog`, 和 `QLabel` 类均来自Qt GUI模块,用于管理应用程序、定义主窗口及其内部组件。 #### 增加交互功能——按钮点击切换文字 对于更复杂的场景,比如希望有一个可以响应用户操作的界面,则可以通过增加按钮控件完成这一目标: ```cpp #include "widget.h" #include "ui_widget.h" // 构造函数初始化列表里调用了父类构造器和UI布局加载方法 Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); // 动态分配一个新的按钮对象给成员变量myButton,并将其放置于当前部件内 myButton = new QPushButton(this); myButton->setText("hello world"); // 将按钮按下信号连接至槽函数handClick() connect(myButton, &QPushButton::clicked, this, &Widget::handClick); } // 当按钮被按下的时候执行的操作逻辑 void Widget::handClick() { if (myButton->text() == QString("hello world")) myButton->setText("hello qt"); else myButton->setText("hello world"); } // 析构函数释放资源 Widget::~Widget() { delete ui; } ``` 这里实现了当用户每次单击按钮时,在"hello world"与"hello qt"之间交替改变按钮上的显示文本的功能[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值