学习qt,做了一个小应用:随机点名提问系统
最近在研究学习qt,qt是一个跨平台的基于C++的应用程序开发框架。
感觉这个qt开发起来还是非常简单的,封装了很多功能,开发效率还是非常高的。然后迫不及待的做了一个小案例,就实现了很简单的一个功能:随机点名提问功能。
1、qt下载
qt下载地址:https://download.qt.io/new_archive/
我下载的是qt5.6.3版本的,qt-opensource-windows-x86-mingw492-5.6.3.exe
这个版本已经内置了qt creator开发工具,不用额外下载qt creator
2、随机点名提问系统
系统界面效果:
源码已经上传到:https://gitee.com/modoucn/dianming
想直接使用这个工具的话,可以到这里下载,我是封装成一个exe,直接运行即可:https://gitee.com/modoucn/dianming/blob/master/bin/dianmingV1.zip
应用使用方法:需要先准备人员名单数据文件,将data.txt人员名单数据文件放到程序同级目录下,文件格式为一行一个姓名
3、涉及到的技术
3.1 窗体禁用最大化按钮和禁止调节窗口大小
setWindowFlags(windowFlags()& ~Qt::WindowMaximizeButtonHint); setFixedSize(this->width(), this->height());
3.2 消息对话框
#include <QMessageBox> ... QMessageBox::critical(this,"出错了","读取文件出错!");
3.3 生成随机数
生成10以内的随机数,生成范围0-9
#include <QTime> ... QTime time = QTime::currentTime(); qsrand(time.msec()+time.second()*1000); int num = qrand() % 10;
3.4 读取文本文件
#include <QFile> #include <QCoreApplication> #include <QTextCodec> #include <QMessageBox> ... // 获取程序当前运行目录 QString filePath = QCoreApplication::applicationDirPath(); QFile file(filePath + "/data.txt"); if(!file.exists()) { QMessageBox::critical(this,"出错了","请将data.txt人员名单放到程序同级目录下\n文件格式:一行一个姓名,多个姓名用换行符分割"); } else if(!file.open(QIODevice::ReadOnly | QIODevice::Text)) { QMessageBox::critical(this,"出错了","读取文件出错!"); } else { QByteArray bytes = file.readAll(); // 防止中文乱码 QTextCodec *codec = QTextCodec::codecForName("GBK"); QString content = codec->toUnicode(bytes); // 获取人员列表 QStringList list = content.split("\n"); }
3.5 定时器
主要使用到了QTimer,代码这里就不粘了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
2019-05-25 css3中的盒子模型
2018-05-25 android studio中使用adb wifi插件无线调试程序