日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時間:2023/12/14 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Qt5】评标专家库随机选5人小软件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. 軟件截圖

也適用于其它需要隨機選取某個東西的地方,比如隨機選擇學生、抽獎之類的。

【Qt軟件的發(fā)布參考此文:【Qt5】Qt小軟件發(fā)布_qilei2010的博客-CSDN博客_qt5發(fā)布程序】

發(fā)布后exe文件及源代碼下載地址:評標專家選取小軟件.zip-電子政務文檔類資源-CSDN下載

其中 myexe 文件夾可以復制到 任意PC上,雙擊其中的 SelectName.exe就能使用該軟件,錄入的人員姓名會保存到當前文件夾的 people.txt 中。

2. 設計與實現(xiàn)

開發(fā)環(huán)境:Windows 10, Qt 5.14.2。

編程實現(xiàn):沒有什么難度,就是 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";//創(chuàng)建保存人名的文件QFile file(this->txtName);if(!file.exists()){file.open(QIODevice::WriteOnly);file.close();} }MainWindow::~MainWindow() {delete ui; }//數(shù)組元素的亂序排列 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,若無則創(chuàng)建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人小软件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。