欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

qt creater创建自己的第一个小程序

程序员文章站 2024-03-13 10:35:45
...

1.1我的版本Qt Creator 4.6.2 (Enterprise)

qt creater创建自己的第一个小程序

1.2打开qt creater 新建工程 选择QT Widgets Application 

qt creater创建自己的第一个小程序

1.3自己写入工程名称(不支持中文

qt creater创建自己的第一个小程序

1.4 选择编译方式 为MinGW 32bit 选这个创建工程速度会快点

qt creater创建自己的第一个小程序

1.5选择基类为widget

qt creater创建自己的第一个小程序

1.6完成工程创建

qt creater创建自己的第一个小程序

1.7进入工程之后 找到你的widget.ui文件 双击进入

qt creater创建自己的第一个小程序

1.8在左侧找到对应的按钮、文本编辑框和标签 鼠标左键按着拖动到右侧界面上 布局上呢和我们前一篇博客实现的效果相同

qt creater创建自己的第一个小程序

1.9点击任何一个组件 右侧对应的就是它的 名字 名字上双击可以进行修改(红色处 最大最小值相同可以锁定大小

qt creater创建自己的第一个小程序

1.10 设置各个组件的参数 看起来舒服点

qt creater创建自己的第一个小程序

1.11(字体大小的改变)点击右侧的组件名-选定这个组件 右击--改变更多信息文本

qt creater创建自己的第一个小程序

1.12(字体 字号、颜色 的改变)

qt creater创建自己的第一个小程序

1.13shift + alt + r 查看效果

qt creater创建自己的第一个小程序

1.14(为组件添加效果) 选择pushbutton组件 右击 转到槽

qt creater创建自己的第一个小程序

1.14.1选择 clicked 当点击 pushbutton的时候就做出反应

qt creater创建自己的第一个小程序

1.15 自动连接到这个函数 函数内 创建一个进程 进程执行文本框内输入的内容

qt creater创建自己的第一个小程序

1.16 其余的 一个文本框lineedit 我们用宏实现 信号与 槽的连接    --两个pushbutton调用组件类里的函数用lamba表达式输出浏览信息

qt creater创建自己的第一个小程序

最终效果图:

qt creater创建自己的第一个小程序

qt creater创建自己的第一个小程序

 

把里面的代码给大家,先操作 错了再来源码看 哪里的问题

main.cpp

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

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

    return a.exec();
}

widget.cpp

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

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);


    //需要上面 先进行Ui的初始化 在用以下语句
    connect(ui->lineEdit,SIGNAL(returnPressed()),this,SLOT(on_commit_clicked()));//通过宏实现 信号 和 槽 的连接
    //        谁连接      发出什么信号(回车         谁处理     用什么函数处理

    connect(ui->pushButton_2,&QPushButton::clicked,this,&Widget::cancelButtonslot);

    connect(ui->pushButton_3,&QPushButton::clicked,
            [this]()
            {
                qDebug()<<"browse: helloword"<<endl;

                QMessageBox::information(this,"浏览提示","浏览键被按下");
            }
            );//lamba表达式
}

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

void Widget::on_pushButton_clicked()
{
    QString proceesName = ui->lineEdit->text();
    QProcess *myProcess = new QProcess(this);        //获取文本数据
    myProcess->start(proceesName);
}

void Widget::cancelButtonslot()
{
    this->close();
}

widget.h (用到什么就添加什么的头文件

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QDebug>
#include <QMessageBox>
#include <QProcess>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

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

private slots:
    void on_pushButton_clicked();
    void cancelButtonslot();

private:
    Ui::Widget *ui;
};

#endif // WIDGET_H