【结对项目】9. GUI 面向对象设计OOD阶段(项目第3阶段)

9. GUI 面向对象设计OOD阶段

用户界面设计:

 

 

除了新的两个GUI类需要设计和编码,其他类直接可以沿用第2阶段中的所有类,直接调接口即可

两个GUI相关类的设计:

HistoryDialog类

class HistoryDialog : public QDialog {
  Q_OBJECT

public:
  HistoryDialog(QWidget *parent = NULL);
  
private:
  //指向主窗口的指针
  QtGuiApplication *mainwindow;
  //历史记录文件的指针,从主窗口对象中的fp_history获得
  FILE *fp;
  Ui::HistoryDialog ui;

private slots:
  //清除历史记录
  void ClearHistory();
};

QtGuiApplication类

class QtGuiApplication : public QMainWindow
{
  Q_OBJECT

  friend class HistoryDialog;

public:
  QtGuiApplication(QWidget *parent = Q_NULLPTR);
  ~QtGuiApplication();

private:
  Ui::QtGuiApplicationClass ui;
  HistoryDialog *historydialog;
  //用来进行题目相关操作
  Question question;
  //现存的计时器线程个数,线程间同步用
  int timer_thread_amount;
  //历史记录文件指针
  FILE *fp_history;

  int question_amount;
  int current_index;
  int current_score;
  //新建计时器线程
  void StartTimer(int seconds);
signals:
  //超时时要发送的信号
  void NoTimeSignal();

private slots:
  //显示历史记录按钮的响应函数
  void ShowHistory();
  //开始做题按钮的响应函数
  void StartExercises();
  //提交答案按钮的响应函数
  void SubmitAnswer();
  //下一道题按钮的响应函数
  void NextQuestion();

  //超时的响应函数
  void RunOutOfTime();
};

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值