**

需要完整项目源代码的同志,可以通过QQ邮箱与我联系:1308269670@qq.com

**
项目总结
一、 设计思路:
界面设计如下:


主要的设计思路就是利用按钮,在用户点击后弹出相关功能窗口。考虑到程序所需控件较多,这个程序的开发我们小组选择使用Qt框架进行开发。首先创建好所需要的设计师界面类并在工程目录下面导入所需使用的图片资源,完整工程目录如下图所示:

(注:start-程序的主界面;widget-程序的进程调度窗口;pro-设计的进程的类;member-制作人员界面;help-帮助界面;display-显示文本信息)
主要使用到的控件有:QWidget、QLabel、QPushButton、QToolButton、QLineEdit、QGroupBox、QComboBox、QTextBrowser。在Qt的设计界面按设计要求布置好以上控件,以进程调度窗口为例,如下图所示:

在转到编辑界面,使用代码完成程序的各种功能,主要使用到的是信号和槽的机制以及结合Lamda表达式以及各个控件类中的相关函数,完成整个程序的编写。相关重要源代码展示如下:
主界面:



(注:其他功能按钮打开窗口的代码编写与“打开进程调度窗口”相似,故不在此展示)
进程调度窗口:









文档显示界面:

制作人员界面:

定义进程类:

本程序主要用于模拟进程调度中的先来先服务算法和短作业优先算法,我们利用到QList容器进行模拟就绪队列和阻塞队列,利用函数front()、pop_front()、push_back(),模拟进程的出队列和入队列。对于FCFS,我们采取qSort对就绪队列按照到达时间进行排序,同理也使用相同手法对SJF按照要求运行时间进行排序。在进程调度界面我们使用到QComboBox为用户提供算法选项,用户可根据需求选择使用的算法。
利用Qt中的Relase重新编译整个程序,后续利用Qt自带的控制台,使用windeployqt.exe对Relase中生成的.exe文件进行打包,最后使用NSIS和HM NIS Edit,完成整个程序安装向导。
二、 心得体会
设计心得:本程序主要使用Qt进行开发,在Qt在整个UI设计上提供了极大的遍历,通过拖拽、坐标位置设置、设置控件大小,就可以快速的搭建出所需程序的相关界面。Qt中设置控件相关功能最常用的便是信号和槽的机制,实现控件与控件之间的联系。同时在开发程序的过程中,也深刻体会到了英语的重要性,Qt控件、函数种类繁多,难免遇到不熟悉或者不会的,这个时候查阅Qt帮助文档,便是最佳的解决途径,但要可以读懂英语。整个程序的开发过程中,遇到了各种各样的问题,在小组同学的帮助下,完成了对大部分BUG的修正,但任然存在着未被发现的各种问题,后续我们小组也会继续进行排查并修正。

qt版——操作系统课程设计(含可视化界面)相关推荐

  1. 操作系统分区分配java算法_合肥工业大学操作系统课程设计 动态分区分配存储管理java版.doc...

    合肥工业大学操作系统课程设计 动态分区分配存储管理java版.doc 1课程设计动态分区分配存储管理设计题目学号专业班级学生姓名号指导教师22010年12月合肥工业大学课程设计任务书设计题目动态分区分 ...

  2. 操作系统课程设计——进程调度模拟程序(JAVA语言实现)

    本科期间的一些学习回忆记录(自己用) 一.课程设计的任务和要求 本次课程设计的题目是,时间片轮转调度算法的模拟实现.要求在充分理解时间片轮转调度算法原理的基础上,编写一个可视化的算法模拟程序.  具体 ...

  3. 操作系统课程设计geekos project1-3

    概述 实验环境 GeekOS-0.3.0 Bochs和Vmware介绍 开发过程 编译运行 配置文件 前导知识 一.全局描述符表GDT(Global Descriptor Table) 二.段选择子( ...

  4. python枪战项目计划书_燕山大学操作系统课程设计计划书

    燕山大学操作系统课程设计计划书 燕山大学课程设计计划书 课程设计名称:操作系统 题目:多道程序缓冲区协同操作 年级:2016级 开发小组名称:WWW. 小组负责人: 课题组成员: 姓名 学号 班级 分 ...

  5. 检索上Linux操作系统课程的教师名,Linux操作系统课程设计.docx

    课 程 设 计 报 告 课程名称 Linux操作系统课程设计 指导教师 起止日期 2016-03-21 至 2016-06-13 学 院 信息与通信工程学院 专 业 电子信息工程 学生姓名 班级/学号 ...

  6. java时间片轮转调度(操作系统课程设计)

    操作系统课程设计之时间片轮转调度算法模拟(Java版本可视化) 1. 课程设计要求 本次课程设计的题目是,时间片轮转调度算法的模拟实现.要求在充分理解时间片轮转调度算法原理的基础上,编写一个可视化的算 ...

  7. 华科计算机课程设计,华中科大操作系统课程设计报告(附源码).doc

    华中科技大学计算机学院 操作系统课程设计报告 班级: 学号: 姓名:彭博 时间:2010年3月 设计内容一:熟悉和理解Linux编程环境 编写一个C程序,实现文件拷贝功能. 2)编写一个C程序,使用下 ...

  8. python操作系统课程设计_操作系统课程设计.pdf

    计算机科学与通信工程学院 操作系统课程设计报告 题目:linux系统下实现PV 操作 班级: 软件工程1401 姓名: 吴帅帅 学号: 3140608020 指导老师: 牛德姣 2016 年12 月2 ...

  9. 华中科技大学计算机课程设计,华中科技大学计算机学院操作系统课程设计资料报告材料[1].doc...

    <华中科技大学计算机学院操作系统课程设计资料报告材料[1].doc>由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关<华中科技大学计算机学院操作系统课程设计资料报 ...

最新文章

  1. form上传文件以及跨域异步上传
  2. httpd: apr_sockaddr_info_get() failed for bogon
  3. 《深入理解Nginx:模块开发与架构解析》一1.6 Nginx的命令行控制
  4. foreach+php+四维数组,怎么在PHP中利用foreach对多维数组进行遍历
  5. 云计算时代,观测产品Sunfire的成长史
  6. LabVIEW FPGA PCIe开发宝典-实战篇:实验63:PCIe DMA+16位8通道ADC(模拟数据采集卡)
  7. python实现自动化打印
  8. java lambda排序
  9. 保护眼睛android版本,夜间护眼软件下载-夜间护眼 安卓版v4.9.1-PC6安卓网
  10. 深度剖析WiFi的SSID问题
  11. python输出一年有多少天多少时分秒_python编程如何显示从1970年1月1日到今天多少天又多少小时...
  12. excel数据库_最新技术让excel秒变web数据库
  13. C++基础2:ASC码中 ‘A’ 和 ‘a’ 分别在什么位置??
  14. 推荐一款好用的解压缩应用软件-BANDIZIP
  15. Java面试题2019
  16. VirtualBox-7.0.6 下载与安装
  17. Zookeeper——Watcher原理详解
  18. 人像分割技术解析与应用
  19. Retrofit2源码解读
  20. SSMS Sql Server 身份验证(设置用户名和密码)方式登录

热门文章

  1. linux文件系统的页高速缓存page cache中的核心数据结构address_space
  2. 协方差矩阵与相关系数矩阵
  3. 衡量员工体验:企业需要了解 5 大员工体验数据类型
  4. MQ 消息积压问题与解决方案
  5. 浅析客户端和服务器通讯的详细过程
  6. Input stream not found at: net/sf/jasperreports/fonts/dejavu/msyh.ttf的解决方法
  7. ajax实例里面的函数,AJAX实例:用callback函数的AJAX实例
  8. portlet_Portlet教程
  9. 深圳大学计算机复试刷人多吗,2020深大考研:复试被刷原因大盘点
  10. 美的集团2023正式批秋招面试凉经