QT入门(三)——QT软件程序的编写(命令窗口)

这篇博客介绍了如何使用QT Creator创建一个项目,包括项目文件的介绍,如widget.h、widge.cpp、main.cpp和widget.ui,讲解了简单界面设计以及信号和槽的概念,最后展示了运行程序代码的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.QT creator

2.创建一个项目

3.2 项目文件介绍

3.3简单界面设计

3.4 信号和槽

3.5 运行程序代码

1.widget.h

2.widge.cpp

3.main.cpp

4.widget.ui


1.QT creator

Qt Creator 是跨平台的 Qt IDE Qt Creator Qt Nokia 收购后推出的一款新的轻量级集成开发环 境(IDE )。此 IDE 能够跨平台运行,支持的系统包括 Linux 32 位及 64 位)、 Mac OS X 以及 Windows。根据官方描述, Qt Creator 的设计目标是使开发人员能够利用 Qt 这个应用程序框架更加快
速及轻易的完成开发任务。
特点:将界面和逻辑分开

2.创建一个项目

到目前为止, CMake 是功能更强大的构建系统。语法 不太好 。但是,对于任何复杂的项目,与 QMake(或我所知道的任何构建系统 ) 之间的关系也不太好。对于简单的项目来说, QMake 看上去更好。
如果需要对Qt 以外的第三方依赖项进行配置检查,则 CMake 是想要的,在 QMake 中对配置检查的支持 是最小的,甚至是不存在的。
另一方面,QMake与 QtCreator 一起工作得很好 ( QTCreator 中缺少 CMake 支持,尽管与 Creator 一起 使用CMake 是可行的 )
如果想在QtCreator 中构建和部署 iOS Android ,我强烈建议 QMake
MainWindow: 带有菜单栏
Widget: 不带由菜单栏,单一窗口
dialog :对话框,弹框

 

 

3.2 项目文件介绍

(2)  头文件

 

3.3简单界面设计

3.4 信号和槽

信号与槽(Signal & Slot qt 编程的基础,也是 Qt 的一大创新。因为有了信号与槽的编程机制,在 Qt 中处理界面各个组件的交互操作时变得更加直观和简单。
信号(Signal 就是在特定情况下被发射的事件,例如 PushButton 最常见的信号就是鼠标单击时发射 的 clicked() 信号,一个 ComboBox 最常见的信号是选择的列表项变化时发射的
CurrentIndexChanged() 信号。
GUI 程序设计的主要内容就是对界面上各组件的信号的响应,只需要知道什么情况下发射哪些信号,合 理地去响应和处理这些信号就可以了。 槽(Slot )就是对信号响应的函数。槽就是一个函数,与一般的 c++ 函数是一样的,可以定义在类的任 何部分(public private protected ),可以具有任何参数,也可以被直接调用。槽函数与一般的函 数不同的是:槽函数可以与一个信号关联,当信号被发射时,关联的槽函数被自动执行。
方式一:右键:转到槽

3.5 运行程序代码

1.widget.h

#ifndef WIDGET_H
#define WIDGET_H
#include<QWidget>
#include<QProcess>
#include<QMessageBox>
#include <QWidget>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();

private:
    Ui::Widget *ui;

private slots:
    void on_p1_clicked();
    void on_p2_clicked();

};

#endif // WIDGET_H

2.widge.cpp

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    //连接信号和槽 谁发出信号 发出什么信号 谁处理信号
    connect(ui->line1,SIGNAL(returnPressed()),this,SLOT(on_p1_clicked()));
    connect(ui->p2,&QPushButton::clicked,this,&Widget::on_p2_clicked);

    connect(ui->pushButton_3,&QPushButton::clicked,[this](){
        QMessageBox::information(this,"信息","点击浏览");
    });
}

Widget::~Widget()
{
    delete ui;
}

void Widget::on_p1_clicked()
{
    //获取lineEdit数据
    QString program=ui->line1->text();
    //创建process对象
    QProcess*myProcess=new QProcess(this);
    myProcess->start(program);
}
 void Widget::on_p2_clicked()
 {
     this->close();
 }

3.main.cpp

#include "widget.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    return a.exec();
}

4.widget.ui

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李 同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值