【Qt5】评标专家库随机选5人小软件
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人小软件相关推荐
- 入选评标专家库有什么好处吗?
一是作为评标专家,工作中以自己的意愿和身份,利用自己掌握的专业知识.招标投标法律知识来参与评标并表达自己的意见. 二是可以参加各地的工程交易招标评标,可以得到按照评标时间结算的报酬,增加自己的经济收入 ...
- 《评标专家和评标专家库管理暂行办法》(发改委第29号 )
评标专家和评标专家库管理暂行办法 中华人民共和国国家发展计划委员会令 第29号 修改依据: 国家发展和改革委员会.工业和信息化部.财政部.住房和城乡建设部.交通运输部.铁道部.水利部.国家广播电影电视 ...
- 评标专家和评标专家库管理暂行办法:评标专家享有的权利
根据<评标专家和评标专家库管理暂行办法>第十三条规定: 评标专家享有下列权利: 一.接受招标人 或其招标代理机构聘请,担任评标委员会成员 二.依法对投标文件进行独立评审,提出评审意见,不受 ...
- 招标采购评标专家管理数智化解决方案
评标专家作为评标活动的重要一环,对保证评标活动的公平公正和评标质量,乃至提升营商环境都意义重大. 为了加强招采过程中评标专家的监督管理.健全评标专家库制度,保证评标活动的公平公正,提高评标质量,国家出 ...
- 通过软考高项的朋友看过来~“专家库”等你申报
众所周知,取得软考证书有几大好处,可以升职加薪,落户,加入专家库等等. 很多朋友问:其他几个都好理解,加入专家库是什么呢?软考高级可以申请加入哪种专家库?接下来就来为大家解答如何通过软考加入专家库吧. ...
- 用计算机选出彩票号码最少的号码,购买彩票时,很多人往往愿意自己选号,不愿交由电脑随机选号...
题目 购买彩票时,很多人往往愿意自己选号,不愿交由电脑随机选号.因为他们相信,中奖号码从长远看是随机产生的,但在短期内却有规律,比如前面连续多期出现的数字,这期出现的可能性就要小一些;或者某些数字对于 ...
- python程序设计第二章序列类型 题库及选解
由于学校的python是笔试,所以找了份感觉比较好的题库刷了下其中前八章的填空和判断,附上选解.各章链接如下 python程序设计题库完整版 https://blog.csdn.net/lijia11 ...
- 基于JAVA评标专家管理信息系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
基于JAVA评标专家管理信息系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署 基于JAVA评标专家管理信息系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署 本源码技术栈: ...
- 如何申请进入专家库?申请条件是什么?
根据相关法律规定,申请进入专家库是需要满足一定的条件的.为了帮助大家顺利申请,今天将针对如何申请进入专家库?申请条件是什么?这些问题做具体的解答,一起来看! 一.入选专家库的专家的条件 ①具有较高的业 ...
- 小蜘蛛 七乐彩随机选号器 官网
Welcome to my blog! <script language="javascript" src="http://avss.b15.cnwg.cn/cou ...
最新文章
- 连接池和 Timeout expired异常
- DFT命令脚本系列1-
- 20十年后的计算机作文600字,20年后的学校作文600字
- PMcaff杂谈社第一期:红包那些事儿
- mysql set语句_不得不注意!那些容易被忽视的MySQL字符集问题?
- 浏览器各个属性的作用
- 定时备份 MySQL 并上传到七牛
- Netbeans Platform的Lookup -- 边学边记
- c语言链表做歌手比赛系统,大型实验报告(歌手比赛系统)
- mysql “Access denied for user 'root'@'localhost'
- APP,webapp 设计相关资料汇集区
- winpe iso镜像下载(exe转iso获取)
- 大漠插件7.2127
- TI 16位 3.3V--5V 电平转换芯片 SN74ALVC164245
- java安装不了为什么_为什么java安装不了?
- Android 云笔记APP的实现
- Centos7.5 -Vim编辑器和恢复ext4下误删除的文件-Xmanager工具
- 搜狗输入法中文状态下开启和关闭英文自动提示
- Vrep/CoppeliaSim:安装及相关资料
- Java网络爬虫--一步步使用Java网络爬虫技术实现豆瓣读书Top250数据的爬取,并插入数据库
热门文章
- html测试报告模板,测试报告模板(完整版).doc
- 如何清理和删除 Docker 镜像
- 自动发消息到微信提醒
- xposed框架定位修改怎么用_Android中Xposed框架篇-修改系统位置信息实现自身隐藏功能...
- Java多商户商城源码 PC+小程序+APP源码+H5 B2B2C商城源码
- 小米 admob广告 ID_3月产品更新如何做好再营销广告归因!
- 双稳态电路的两个稳定状态是什么_电子电路原理图识图心得及电路分析方法
- 虚拟局域网(VLAN)中端口tagged和untagged在多种情况下的作用
- LeetCode详解C++版
- java飞机订票系统课程设计_JAVA数据结构课程设计,航空订票系统求助