版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38313246/article/details/81748020
1.1我的版本Qt Creator 4.6.2 (Enterprise)
1.2打开qt creater 新建工程 选择QT Widgets Application
1.3自己写入工程名称(不支持中文
1.4 选择编译方式 为MinGW 32bit 选这个创建工程速度会快点
1.5选择基类为widget
1.6完成工程创建
扫描二维码关注公众号,回复:
4992934 查看本文章
1.7进入工程之后 找到你的widget.ui文件 双击进入
1.8在左侧找到对应的按钮、文本编辑框和标签 鼠标左键按着拖动到右侧界面上 布局上呢和我们前一篇博客实现的效果相同
1.9点击任何一个组件 右侧对应的就是它的 名字 名字上双击可以进行修改(红色处 最大最小值相同可以锁定大小
1.10 设置各个组件的参数 看起来舒服点
1.11(字体大小的改变)点击右侧的组件名-选定这个组件 右击--改变更多信息文本
1.12(字体 字号、颜色 的改变)
1.13shift + alt + r 查看效果
1.14(为组件添加效果) 选择pushbutton组件 右击 转到槽
1.14.1选择 clicked 当点击 pushbutton的时候就做出反应
1.15 自动连接到这个函数 函数内 创建一个进程 进程执行文本框内输入的内容
1.16 其余的 一个文本框lineedit 我们用宏实现 信号与 槽的连接 --两个pushbutton调用组件类里的函数用lamba表达式输出浏览信息
最终效果图:
把里面的代码给大家,先操作 错了再来源码看 哪里的问题
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