1. 软件截图

也适用于其它需要随机选取某个东西的地方,比如随机选择学生、抽奖之类的。

【Qt软件的发布参考此文:【Qt5】Qt小软件发布_qilei2010的博客-CSDN博客_qt5发布程序】

发布后exe文件及源代码下载地址:评标专家选取小软件.zip-电子政务文档类资源-CSDN下载

其中 myexe 文件夹可以复制到 任意PC上,双击其中的 SelectName.exe就能使用该软件,录入的人员姓名会保存到当前文件夹的 people.txt 中。

2. 设计与实现

开发环境:Windows 10, Qt 5.14.2。

编程实现:没有什么难度,就是 QList 内的元素随机有点难度,我参考此文的代码。

2.1 项目结构截图

2.2 主要代码

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);this->txtName = "people.txt";//创建保存人名的文件QFile file(this->txtName);if(!file.exists()){file.open(QIODevice::WriteOnly);file.close();}
}MainWindow::~MainWindow()
{delete ui;
}//数组元素的乱序排列
QList<QString> MainWindow::LuanXu(QList<QString> list)
{int length = list.size();for(int i=0;i<length;i++){QTime t = QTime::currentTime();qsrand(t.msec()+t.second()*1000);int r = i+qrand()%(length-i);QString temp=list[i];list[i]=list[r];list[r]=temp;}return list;
}//点击 标签
void MainWindow::on_tabWidget_tabBarClicked(int index)
{QFile file(this->txtName);//显示全部人员if(index == 1){file.open(QIODevice::ReadOnly | QIODevice::Text);QTextStream in(&file);ui->textBrowser->setText(in.readAll());file.close();}
}//录入人员 保存按钮
void MainWindow::on_pushButton_2_clicked()
{QString pname = ui->nameInput->text();QFile file(this->txtName);//读取people.txt,若无则创建if(!file.exists()){file.open(QIODevice::WriteOnly);file.close();}else{//文件存在file.open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Text);QTextStream stream(&file);stream<<pname<<"\n";file.close();QMessageBox::information(NULL, "提示", "保存成功");ui->nameInput->clear();this->on_tabWidget_tabBarClicked(1);     //刷新全部人员显示}
}//随机选取人员
void MainWindow::on_pushButton_clicked()
{//读取文件QFile file(this->txtName);file.open(QIODevice::ReadOnly | QIODevice::Text);QList<QString> oraList;QTextStream in(&file);QString line = in.readLine();while (!line.isNull()){oraList.append(line);line = in.readLine();}file.close();if(oraList.size()<9){QMessageBox::information(NULL, "提示", "人员不足9名,请先录入人员");}else{//随机选取QList<QString> list = LuanXu(oraList);QString rstName = list[0]+"  "+list[1]+"  "+list[2]+"  "+list[3]+"  "+list[4];QString secName = list[5]+"  "+list[6]+"  "+list[7]+"  "+list[8];ui->lineEdit->setText(rstName);ui->lineEdit_2->setText(secName);}
}

mainwindows.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QDebug>
#include <QMessageBox>
#include <QFile>
#include <QList>
#include <QTime>QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);QList<QString> LuanXu(QList<QString> list);~MainWindow();private slots:void on_tabWidget_tabBarClicked(int index);void on_pushButton_2_clicked();void on_pushButton_clicked();private:Ui::MainWindow *ui;QString txtName;
};
#endif // MAINWINDOW_H

【Qt5】评标专家库随机选5人小软件相关推荐

  1. 入选评标专家库有什么好处吗?

    一是作为评标专家,工作中以自己的意愿和身份,利用自己掌握的专业知识.招标投标法律知识来参与评标并表达自己的意见. 二是可以参加各地的工程交易招标评标,可以得到按照评标时间结算的报酬,增加自己的经济收入 ...

  2. 《评标专家和评标专家库管理暂行办法》(发改委第29号 )

    评标专家和评标专家库管理暂行办法 中华人民共和国国家发展计划委员会令 第29号 修改依据: 国家发展和改革委员会.工业和信息化部.财政部.住房和城乡建设部.交通运输部.铁道部.水利部.国家广播电影电视 ...

  3. 评标专家和评标专家库管理暂行办法:评标专家享有的权利

    根据<评标专家和评标专家库管理暂行办法>第十三条规定: 评标专家享有下列权利: 一.接受招标人 或其招标代理机构聘请,担任评标委员会成员 二.依法对投标文件进行独立评审,提出评审意见,不受 ...

  4. 招标采购评标专家管理数智化解决方案

    评标专家作为评标活动的重要一环,对保证评标活动的公平公正和评标质量,乃至提升营商环境都意义重大. 为了加强招采过程中评标专家的监督管理.健全评标专家库制度,保证评标活动的公平公正,提高评标质量,国家出 ...

  5. 通过软考高项的朋友看过来~“专家库”等你申报

    众所周知,取得软考证书有几大好处,可以升职加薪,落户,加入专家库等等. 很多朋友问:其他几个都好理解,加入专家库是什么呢?软考高级可以申请加入哪种专家库?接下来就来为大家解答如何通过软考加入专家库吧. ...

  6. 用计算机选出彩票号码最少的号码,购买彩票时,很多人往往愿意自己选号,不愿交由电脑随机选号...

    题目 购买彩票时,很多人往往愿意自己选号,不愿交由电脑随机选号.因为他们相信,中奖号码从长远看是随机产生的,但在短期内却有规律,比如前面连续多期出现的数字,这期出现的可能性就要小一些;或者某些数字对于 ...

  7. python程序设计第二章序列类型 题库及选解

    由于学校的python是笔试,所以找了份感觉比较好的题库刷了下其中前八章的填空和判断,附上选解.各章链接如下 python程序设计题库完整版 https://blog.csdn.net/lijia11 ...

  8. 基于JAVA评标专家管理信息系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署

    基于JAVA评标专家管理信息系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署 基于JAVA评标专家管理信息系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署 本源码技术栈: ...

  9. 如何申请进入专家库?申请条件是什么?

    根据相关法律规定,申请进入专家库是需要满足一定的条件的.为了帮助大家顺利申请,今天将针对如何申请进入专家库?申请条件是什么?这些问题做具体的解答,一起来看! 一.入选专家库的专家的条件 ①具有较高的业 ...

  10. 小蜘蛛 七乐彩随机选号器 官网

    Welcome to my blog! <script language="javascript" src="http://avss.b15.cnwg.cn/cou ...

最新文章

  1. 连接池和 Timeout expired异常
  2. DFT命令脚本系列1-
  3. 20十年后的计算机作文600字,20年后的学校作文600字
  4. PMcaff杂谈社第一期:红包那些事儿
  5. mysql set语句_不得不注意!那些容易被忽视的MySQL字符集问题?
  6. 浏览器各个属性的作用
  7. 定时备份 MySQL 并上传到七牛
  8. Netbeans Platform的Lookup -- 边学边记
  9. c语言链表做歌手比赛系统,大型实验报告(歌手比赛系统)
  10. mysql “Access denied for user 'root'@'localhost'
  11. APP,webapp 设计相关资料汇集区
  12. winpe iso镜像下载(exe转iso获取)
  13. 大漠插件7.2127
  14. TI 16位 3.3V--5V 电平转换芯片 SN74ALVC164245
  15. java安装不了为什么_为什么java安装不了?
  16. Android 云笔记APP的实现
  17. Centos7.5 -Vim编辑器和恢复ext4下误删除的文件-Xmanager工具
  18. 搜狗输入法中文状态下开启和关闭英文自动提示
  19. Vrep/CoppeliaSim:安装及相关资料
  20. Java网络爬虫--一步步使用Java网络爬虫技术实现豆瓣读书Top250数据的爬取,并插入数据库

热门文章

  1. html测试报告模板,测试报告模板(完整版).doc
  2. 如何清理和删除 Docker 镜像
  3. 自动发消息到微信提醒
  4. xposed框架定位修改怎么用_Android中Xposed框架篇-修改系统位置信息实现自身隐藏功能...
  5. Java多商户商城源码 PC+小程序+APP源码+H5 B2B2C商城源码
  6. 小米 admob广告 ID_3月产品更新如何做好再营销广告归因!
  7. 双稳态电路的两个稳定状态是什么_电子电路原理图识图心得及电路分析方法
  8. 虚拟局域网(VLAN)中端口tagged和untagged在多种情况下的作用
  9. LeetCode详解C++版
  10. java飞机订票系统课程设计_JAVA数据结构课程设计,航空订票系统求助