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

您所在的位置:网站首页 C语言获取输入框内容 QT编写一个简单的包含输入输出的C++界面程序

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

2024-06-12 14:07| 来源: 网络整理| 查看: 265

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 namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: 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输出到TextBrowser ui->textBrowser->append(result); // 将结果输出到结果区域 } MainWindow::~MainWindow() { delete ui; } (3)效果

在这里插入图片描述

2、代码添加界面 (1)代码文件 mainwindow.h文件

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

信号定义不实现槽函数既需定义也需实现 mainwindow.cpp文件 #include "mainwindow.h" #include "ui_mainwindow.h" #include #include #include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); // 添加TextEdit QTextEdit * 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来进行提示,在程序运行时创建对话框来输入值。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3