QT学习(一) 入门:基本控件和信号与槽和练习

来源:互联网 发布:其皆出于此乎的其意思 编辑:程序博客网 时间:2024/06/01 16:32
这两天需要用到QT写一个界面,决定去学。Qt Create这个IDE真是非常好用,轻量级,Ui设计界面拖拖控件就行了,再用信号与槽(signal and slot)的机制就能很轻松的将界面上的一些事件信号和相应的自己写的槽函数联系起来,用起来很方便。

推荐一个视频吧,基础的内容看视频跟着动手实践掌握起来还是很快的。

http://www.bilibili.com/video/av6782450/?from=search&seid=15668660972399206312

一个工程,项目的结构分为三个部分。头文件,源文件,界面文件。

这是我做的第一个小练习仿cmd熟悉基本控件:
widge.h:

#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QProcess>namespace Ui {class Widget;}class Widget : public QWidget{    Q_OBJECTpublic:    explicit Widget(QWidget *parent = 0);    ~Widget();private slots:    void on_submitButton_clicked();  //按钮点击事件的槽函数private:    Ui::Widget *ui;};#endif

widge.cpp:

#include "widget.h"#include "ui_widget.h"Widget::Widget(QWidget *parent) :    QWidget(parent),    ui(new Ui::Widget){    ui->setupUi(this);    this->setMaximumSize(351,133);    this->setMinimumSize(351,133);    QObject::connect(ui->cmdLineEdit, SIGNAL(returnPressed()), this, SLOT(on_submitButton_clicked()));        //信号与槽将编辑框和按钮的点击联系起来。}Widget::~Widget(){    delete ui;}void Widget::on_submitButton_clicked(){    QProcess *process = new QProcess;    QString startProgress = ui->cmdLineEdit->text();    process->start(startProgress.trimmed());    ui->cmdLineEdit->clear();    this->close();}

ui文件 中间用到了文字的Label,编辑框Line Edit,按钮Push Button,水平空余Horizontal Spacer。

这里写图片描述

红色边框是layout布局可以让控件变得整齐一点。可以自己尝试一下。
这里写图片描述

运行
这里写图片描述

输入如notepad一类的指令可以打开相应软件。

总结一下有两点需要注意:
1.注意控件的命名规范。
2.QT各种类各种方法很多,帮助文档确实很好用。
这里写图片描述

0 0