QT官网下载

文章目录

  • 一、介绍
    • 1、创建项目
    • 2、.ui具体内容
  • 二、设计
    • 1、手动添加界面,代码实现连接
      • (1)ui部分
      • (2)代码部分
      • (3)效果
    • 2、代码添加界面
      • (1)代码文件
    • 三、源文件
    • 四、问题

一、介绍

1、创建项目

右击“文件”,选择“新建文件或项目”

选择Application中的Qt Widgets Application

输入名称,选择位置,一直下一步即可

这就是创建的内容

2、.ui具体内容

左:

双击.ui文件进入设计界面,点击编辑即回到代码界面;
上面区域是可以选择需要的东西,如布局(Layouts)、按钮(Buttons)、弹簧(spacer)、Input Widgets(输入)、Out Widgets(输出)等(我也只用过这几个)
下面区域的电脑图标可以选择debug版本也可以选择Profile、Release版本;三角形是运行,带个虫是调试,锤子是构建;

中:

中间是设计区域,初始包含主窗口(MainWindow)、菜单栏(menuBar)、工具栏(mainToolBar)、状态栏(statusBar);
下面的框框与connect函数一样,需要手动添加四个值
connect函数的格式:connect(发送者,信号,接受者,槽函数)
connect函数的写法

右:

上面部分显示的是设计区域的内容
下面可以设置对应的属性,geometry选择它的位置和大小,设置内容等

二、设计

connect函数的几种写法

1、手动添加界面,代码实现连接

(1)ui部分

将一个Input Widgets中的Text Edit,一个Display Widgets中的Text Browser,还有一个Button中的Push Button拖至设计区域

(2)代码部分

  • mainwindow.h文件
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>namespace Ui {class MainWindow;
}class MainWindow : public QMainWindow
{Q_OBJECTpublic:explicit MainWindow(QWidget *parent = nullptr);~MainWindow();signals:      // 自定义信号,只定义即可public slots:void start();   // 自定义槽函数,在.cpp中实现,既需定义也需实现private:Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
  • mainwindow.cpp文件
#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{ui->setupUi(this);// connect函数connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(start()));
}void MainWindow::start()
{// 清除结果区域前面缓存的结果ui->textBrowser->clear();//  获取输入框的内容QString content = ui->textEdit->toPlainText();char *content_char = content.toLatin1().data(); // 将QString转化为char字符数组//中间处理过程QString result;for(int i = 0;'\0' != content_char[i];i++)result += content_char[i];//  将获取的内容用append输出到TextBrowserui->textBrowser->append(result);    // 将结果输出到结果区域
}MainWindow::~MainWindow()
{delete ui;
}

(3)效果

2、代码添加界面

(1)代码文件

  • mainwindow.h文件

将上面手动添加界面的头文件中的槽函数start()删除

  • 信号定义不实现
  • 槽函数既需定义也需实现
  • mainwindow.cpp文件
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QTextEdit>
#include <QTextBrowser>
#include <QPushButton>MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{ui->setupUi(this);// 添加TextEditQTextEdit * edit = new QTextEdit;edit->setParent(this);      // 设置父亲为this,即这个窗口,让它显示主窗口中edit->setGeometry(0,10,131,191);    // 设置位置和大小// 添加TextBrowser QTextBrowser * browser = new QTextBrowser;browser->setParent(this);browser->setGeometry(140,10,256,192);// 添加按钮QPushButton * button = new QPushButton("开始",this);button->setGeometry(310,210,75,23);// connect函数,与上面区分,用另外一种形式,也可改写为槽函数的形式connect(button,&QPushButton::clicked,[=](){QString content = edit->toPlainText();browser->append(content);});
}MainWindow::~MainWindow()
{delete ui;
}

(2)效果

三、源文件

在之前得基础上将按钮放在工具栏上,删除了状态栏,调整了位置大小
源文件

效果:

四、问题

这种直杠杠的输入只能解决那种输入了就直接处理完输出的,在中间没有停顿,遇到需要在程序运行时输入值得,就需要在中间添加其他内容
如可以用QMessageBox来进行提示,在程序运行时创建对话框来输入值。

QT编写一个简单的包含输入输出的C++界面程序相关推荐

  1. 利用QT编写一个简单爬虫程序

    从高中到大学,一直在固定小说网中下载小说,小说网停机过好几次但最后又起死回生.最近萌发一个想法,把小说网里的小说都爬下来.. 既然要爬网站肯定要对网站结构十分了解,幸好小说网没有弄什么登陆防爬措施,结 ...

  2. linux下Qt编写串口调试助手,如何在linux下用QT写一个简单的串口调试助手

    如何在linux下用QT写一个简单的串口调试助手 QT5串口类 在QT5以前,编写串口一般使用的是qextserialport类,但在QT5之后有了QT自带的串口类SerialPort(串口基础类)和 ...

  3. 第一章 开始 |编写一个简单的C++程序

    学习目标: 编写一个简答的C++程序 学习内容: 1.一个简单的c++程序 2.输入和输出 3.关于注释 4.控制流 5.类简介 6.书店程序 1.1 编写一个简单的c++程序 每个C++程序都包含一 ...

  4. 编写一个最简单的.php,学习猿地- 说明 如果我们要编写一个简单的PHP脚本,需要学习哪些...

    说明 如果我们要编写一个简单的 PHP 脚本,需要学习哪些基础知识呢? PHP 基础 PHP 脚本可放置于文档中的任何位置. 标准 的 PHP 脚本以 <?php 开头,以 ?> 结尾: ...

  5. 用 Go 编写一个简单的 WebSocket 推送服务

    用 Go 编写一个简单的 WebSocket 推送服务 本文中代码可以在 github.com/alfred-zhon- 获取. 背景 最近拿到需求要在网页上展示报警信息.以往报警信息都是通过短信,微 ...

  6. ros如何编译python文件_Python为ROS编写一个简单的发布者和订阅者

    Python为ROS编写一个简单的发布者和订阅者 1.创建工作空间 1.1建立文件夹hello_rospy,再在该目录下建立子目录src,并创建工作空间 mkdir -p ~/hello_rospy/ ...

  7. 如何用FFmpeg编写一个简单播放器详细步骤介绍

    如何用FFmpeg编写一个简单播放器详细步骤介绍(转载) FFMPEG是一个很好的库,可以用来创建视频应用或者生成特定的工具.FFMPEG几乎为你把所有的繁重工作都做了,比如解码.编码.复用和解复用. ...

  8. 使用Qt做一个简单计算器

    title: Calculator date: 2022-09-04 11:10:12 tags: [Qt, 应用, C++] typora-root-url: Calculator 使用Qt做一个简 ...

  9. 用Qt写一个简单的音乐播放器(三):增加界面(播放跳转与音量控制)

    一.前言 在用Qt写一个简单的音乐播放器(一):使用QMediaPlayer播放音乐中,我们已经知道如何去使用QMediaPlayer播放音乐. 在用Qt写一个简单的音乐播放器(二):增加界面(开始和 ...

最新文章

  1. js动态变量名_scss引入其他scss变量,并通过js动态修改scss变量
  2. java mina多线程_mina2中的线程池
  3. Linux——进程间通信(总结)
  4. 云计算比本地计算机可靠,1-云计算复习题
  5. 13-day13-str
  6. 关于window.showModalDialog遭遇frameset不能初始化对话框大小
  7. Java中的ObjectOutputStream –将对象写入文件
  8. 转: Oracle AWR 报告 每天自动生成并发送邮箱
  9. Date类型之组件方法
  10. 欧姆龙cp1h指令讲解_欧姆龙PLC功能指令
  11. AndroidStudio个人中心个人信息修改
  12. 黑苹果AX201网卡驱动小白教程,小新pro13不换网卡也能上网!
  13. android数据库汉字,GitHub - JamesLiAndroid/chinese-xinhua: 中华新华字典数据库。包括歇后语,成语,词语,汉字。提供新华字典API。...
  14. vista任务管理器_为什么我的Windows Vista资源管理器发送到菜单挂起或打开缓慢?...
  15. java 向下转型运行时错误_8.5.2 向下转型与运行类型异常
  16. 点击按钮复制微信号/公众号,并打开微信APP搜索H5如何制作。
  17. 脉冲发生器c语言程序,可编程脉冲信号发生器的.doc
  18. wirshark抓包产生的pcap文件分析
  19. 基于Servlet的验证码登陆demo
  20. memcpy与memcpy_s的使用

热门文章

  1. Spring 时间戳(日期)格式转换问题
  2. 解决Mac OS升级系统后git无法使用的问题
  3. 海龟交易法则主图技术指标公式
  4. RevitAPI之创建一个面积【比目鱼原创】
  5. 密码存储之PyQt5知识点储备
  6. 免费建站平台到底是靠什么盈利
  7. 10月数字资产项目评级更新|链塔评级
  8. DataFound 2019用户画像竞赛分析
  9. oppok7x可以用鸿蒙系统吗,oppok7x支持nfc吗_oppok7x手机怎么样
  10. eBay好评有什么用?