1. 程式人生 > >用QT做一個簡單的答題介面

用QT做一個簡單的答題介面

學了兩天的QT介面,今天老師佈置了作業讓我們用QT做一個簡單的單人答題介面

類似微信應用裡的頭腦王者,每十秒答一題,一共答5題,最後輸出分數。

下面是我自己的步驟、介面及程式:(儘量從簡的)

首先開啟QT ,新建一個應用程式
這裡寫圖片描述

建立完成以後建立設計師介面類
這裡寫圖片描述

在介面中插入倒計時用的時間(lcdNumber),切換頁面用的視窗(stacked widget),所需文字(Label)等等。
這裡寫圖片描述

大致是這樣,然後在Stacked widget 新增頁面,介面同理。

接下來是程式碼

首先在標頭檔案中加入容器,存放單選題,加一個時間引數
這裡寫圖片描述

main函式不動,在widget中程式碼如下:

#include "widget.h"
#include "ui_widget.h"
#include <QPixmap>
#include <QMovie>
#include <QDebug>
#include <QMessageBox>

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);


    v.push_back(ui->radioButton_5);          //先預設5個答案
v.push_back(ui->radioButton_11); v.push_back(ui->radioButton_14); v.push_back(ui->radioButton_17); v.push_back(ui->radioButton_8); ui->lcdNumber->display(10); //初始數字為10 //ui->progressBar->setValue(100); timerId = startTimer(1000); // 1s } Widget::~Widget() { delete
ui; } void Widget::timerEvent(QTimerEvent *event) { static int i = 1; static int k = 0; //計數器 int score = 0; //得分 ui->lcdNumber->display(ui->lcdNumber->value() - 1); //時間遞減 if (ui->lcdNumber->value() == 0) //0s時 { k++; //計數+1 ui->lcdNumber->display(10); //時間回10s ui->stackedWidget->setCurrentIndex(i++); //Stack widget切下一頁 } for (unsigned int i = 0; i< v.size(); i++) { if (v[i]->isChecked()) //選項正確時 score++; //分數+1 } if(k == 5) //當走完5次時 輸出 { QString str = QString("恭喜!您答對了 %1 題!").arg(score); QMessageBox::information(this, "得分", str); killTimer(this->timerId); //停止時間 } }

最後執行如下:
這裡寫圖片描述

這裡寫圖片描述

相關推薦

QT一個簡單答題介面

學了兩天的QT介面,今天老師佈置了作業讓我們用QT做一個簡單的單人答題介面 類似微信應用裡的頭腦王者,每十秒答一題,一共答5題,最後輸出分數。 下面是我自己的步驟、介面及程式:(儘量從簡的) 首先開啟QT ,新建一個應用程式 建立完成以後建立設計師介

Jmeter一個簡單介面測試(一)

Jmeter介面測試例項 1.新建一個Thread Group 2. 線上程組下建一個HTTP請求 3. 在http請求下建檢視結果樹 4. 在http請求下建聚合報告 5.在http請求下建圖形結果 6.執行 最後右擊執行緒組,單擊

Vue 一個簡單的購物app

有意思 應用程序 其中 ins com 簡單的 node.js 引入 大神 前言 最近在學習Vue的使用。看了官方文檔之後,感覺挺有意思的。於是著手做了一個簡單的購物app。這是我第一次在這個網站上寫分享,如有不當之處,請多多指教。 一整個項目寫下來,最大的感覺就是組件式開

java一個簡單的打字遊戲

Java也是可以做桌面程式的。只不過需要執行在裝有JDK的電腦環境上,所以應用不是很廣泛,但是用來提高自身的程式碼邏輯還是可以的!偶有一天看到金山的打字通,就想起何不做個簡單的打字遊戲用來練練手。於是就有了下文 首先建一個類MyTyping,只有main方法   執行main方法

java一個簡單的萬年曆

一個簡單的萬年曆製作 簡單介紹萬年曆的各功能實現: 1.首先鍵盤輸入查詢的年份和月份 Scanner sc = new Scanner(System.in); System.ou

一個簡單登入介面

先寫好登入介面的佈局,記住要寫一個Checkbox。 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.an

java一個簡單的英文翻譯程式

1.功能簡介 將文字檔案中的英文轉換為對應的中文 詞庫如下: 原始檔: 翻譯後的檔案: 輸入原始檔路徑,將翻譯後的內容輸出到result.txt檔案中。 2.重要技術 (1)如何載入詞庫檔案  

Flutter學習:Flutter搭建一個簡單登入介面

搭建如下圖所示的登入介面 看到結構圖,可以使用一個列布局即可完成,對於輸入框,使用TextField控制元件,對於輸入控制元件樣式,通過Container控制元件來裝飾。 看程式碼: //登入介面 class LoginView extends StatelessWidget {

PopupWindow一個簡單的彈出窗體

首先在主介面定義一個點選事件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/

java一個簡單的視訊轉碼器

用java做一個視訊轉碼器 本Markdown編輯器使用[StackEdit][6]修改而來,用它寫部落格,將會帶來全新的體驗哦: 用java做一個視訊轉碼器,首先實現視訊格式轉換,需要用到兩個軟體”ffmpeg”和”mencoder”話不多說,直接上程式碼

C#一個簡單紙牌遊戲的程式

小子不才學C#沒多久,想做個窗體紙牌遊戲玩,但是窗體應用懂得不多,只能在控制命令臺上進行遊戲設計,希望有大神能幫我設計這個窗體程式,或者推薦好的窗體設計資料,謝謝了,控制命令臺程式如下: namespace BasicCardsGame {     class OutOfR

20190321-一個簡單的學生成績管理系統

所在 one sta each 管理 core randint not div 要求: 用類實現學生的成績管理,要求實現如下功能:   1.能夠獲取學生的對應學科成績、總成績、平均成績;   2.能夠獲取某一個班級的某一科成績的最高分的學生   3.能夠獲取某一班級

Java GUI一個簡單的管理系統

java 管理系統 gui 1.先完成主頁面MainUI(代碼如下)package com.pag_1; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.

HTML5一個個人網站,此文僅展示個人主頁介面。內附原始碼下載地址

html5 ,用css去修飾自己的個人主頁 程式碼如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio

C#寫一個簡單的進度介面

介面設計如下: 實現類: public partial class FormProgressInfo : Form { public FormProgressInfo(int nMinimum = 0, int nMaximum = 100) { InitializeCom

Qt Quick Lession3 (QML寫一個簡單的顏色選擇器)

先看一下效果圖: 實現功能:點選不同的色塊可以改變文字的顏色。 實現步驟: 一、建立一個預設的Qt Quick工程:     二、新增檔案Cell.qml 這一步主要是為了實現一個自定義的元件,這個元件就是我們看到的那個色塊,很明顯定義

Android學習筆記(第一行程式碼) 一個簡單的登入介面

一.建立xml檔案 1.賬戶輸入框和密碼輸入框的編寫 <TextView android:layout_height="wrap_content" android:text="@string/LG_name" />

Java構建一個簡單的WebSocket聊天專案之新增HTTP介面排程

本文首發公眾號與個人部落格:Java貓說 & 貓叔的部落格 | MySelf,轉載請申明出處。 前言 大家可以看看上一篇:用Java構建一個簡單的WebSocket聊天室 在上一篇文章中我們已經實現了:自我對話、好友交流、群聊、離線訊息等的功能。 而本篇,我們的框架升級了,

Qt:使用gSoap一個簡單的CS系統

首先介紹一下gSoap,這是一個非常厲害的網路庫,封裝程度非常高而且跨平臺。 支援SSL連結,資料格式為XML。 介紹地址: 近段時間是有專案需求,所以接觸到了這個庫。 自己摸索了一下,發現用這個

bootstrap一個背景可輪轉的登入介面

用bootstrap做登入註冊頁面 效果圖(由於2M的限制效果圖大小不一致) html程式碼 水平居中利用bootstrap的網格系統,offset-3向右移動3格.(網格系統中預設12個