建設(shè)微信網(wǎng)站的流程圖青島seo外包公司
???🔥歡迎收看西北風(fēng)的blog,好男人就是我,我就是西北風(fēng)。?
Gitee 地址?W_A_Mole · NTC_jason/cc語言 - 碼云 - 開源中國 (gitee.com)
目錄
🟥一:創(chuàng)建一個主窗體
🟣二.:添加主窗口背景圖片以及相關(guān)部件?
🔸2.1 添加資源文件
?2.1.1 添加資源文件
2.1.2 在項(xiàng)目中添加資源文件
🔸 2.2 為 窗口 添加背景圖
2.2.1打開?mainwindow.ui
🔸?2.3 為窗口添加開始按鈕
🔵三:增加游戲界面
🔹3.1 新建窗口 更名為game
🔹3.2將主窗口與game窗口聯(lián)動。
🔹3.3添加背景圖片
🔹3.4?添加 地鼠 按鈕。
?🔹3.5為 地鼠 添加 定時器
🔹3.6 改變鼠標(biāo)樣式,增加簡單錘子。
🔴四:完善,增加,退出游戲,簡易分?jǐn)?shù),簡易難度?
🔺4.1 退出游戲按鈕
🔺4.2分?jǐn)?shù)
🔺4.3簡易難度
?🔺4.4 鼠標(biāo)在普通按鈕上變回普通樣式
🟥一:創(chuàng)建一個主窗體
?下一步即可。名字自選
🟣二.:添加主窗口背景圖片以及相關(guān)部件?
🔸2.1 添加資源文件
?2.1.1 添加資源文件
????????在項(xiàng)目文件夾下新建文件夾,用于存放資源文件
????????????????????????
????????在資源文件npg內(nèi),添加圖片。圖源網(wǎng)絡(luò),可自行更改。
????????????????
2.1.2 在項(xiàng)目中添加資源文件
????????新建一個Qt 下的資源文件
????????下一步,名稱自選。下一步添加到之前創(chuàng)建的項(xiàng)目下。
? 完成會出現(xiàn)右圖資源文件?
?對qrc文件 右鍵 找到 open in editor
?????????
?如上圖,添加按鈕下拉菜單,選擇添加前綴。
注:前綴如路徑,盡量用英文并且簡單。默認(rèn)如上圖。
再次點(diǎn)擊添加,添加文件,選擇我們的4張圖片。就完成了資源文件的添加。
?????????????????
最后一步,尤為重要,在此處右鍵,點(diǎn)擊重新構(gòu)建。此時資源文件才算添加成功。
注: 每一次修改資源文件 均需重新構(gòu)建。
🔸 2.2 為 窗口 添加背景圖
2.2.1打開?mainwindow.ui
????????點(diǎn)擊centralWidget窗口部件。 找到styleSheet 打開。
? ? ? ? ?在添加資源下拉菜單里,含有?background-image、border-image、image 三個選項(xiàng)。
?區(qū)別自行百度,在這里我們使用background-image。顧名思義,背景圖
????????
????????使用background-image,有一個需要注意的點(diǎn),它會將此窗口上所有部件全部添加背景。而我們只需窗口需要背景,其他部件不需要此背景。
? ? ? ? 所以,需要把background-image: url(........);放在#MainWindow{}里(MainWindow為主窗口的對象名),意思就是只針對主窗口設(shè)置有效,子部件無用;
????????????????
????????對窗口調(diào)整大小后,效果如圖
🔸?2.3 為窗口添加開始按鈕
? ? ? ? 按鈕部件放在開始游戲位置并且更名為開始游戲,覆蓋掉。
此時我們的簡單的主窗口界面依然完成。
🔵三:增加游戲界面
🔹3.1 新建窗口 更名為game
?
?
🔹3.2將主窗口與game窗口聯(lián)動。
3.2.1使用主窗口的開始游戲按鈕
? ? ? ? 在主窗口的頭文件中添加game窗口的頭。
????????
使用按鈕,轉(zhuǎn)到槽。
?添加如下代碼。即可實(shí)現(xiàn),按下后出現(xiàn)game界面。
void MainWindow::on_pushButton_clicked() {Game *configWindow = new Game;configWindow->show(); }
🔹3.3添加背景圖片
? ? ? ? 我們創(chuàng)建了一個Qwidget類的窗口,在此窗口下添加背景圖片有一個需要注意的細(xì)節(jié),
那就是需要再添加一個窗口部件去完成背景設(shè)置,才能顯示我們的圖片。
? ? ? ? 我們添加一個widget部件,對game進(jìn)行覆蓋,并且調(diào)整大小
????????
????????對于背景圖片,如主窗口一樣添加,不再贅述。
🔹3.4?添加 地鼠 按鈕。
3.4.1也就是一個按鈕部件,但這個部件需要是一個不規(guī)則的按鈕,并且有著地鼠摸樣。
注 ; 我們需要使用一張背景為透明的圖片。
我使用PS軟件,去除背景。選中背景后 按下 delete 刪除背景即可。?
????????
注 : 在存儲文件格式時 選用png格式,因?yàn)閖pg格式不支持透明背景,會把背景填充為白色。
????????3.4.2 添加按鈕部件
????????
? ? ? ? 3.4.3 為按鈕部件設(shè)置為不規(guī)則按鈕。
注:地鼠圖片的像素大小即為不規(guī)則按鈕的大小,因?yàn)榉椒ㄊ菍粹o覆蓋在圖片上,使用時請修改圖片大小。
????????
//頭文件 #include"QPixmap" #include"QBitmap" //改變按鈕為不規(guī)則按鈕QPixmap pix;pix.load("........圖片路徑");ui->pushButton->setFixedSize(pix.size());ui->pushButton->setMask(pix.mask());ui->pushButton->setStyleSheet("background-image: url(........圖片路徑)");
如有相關(guān)問題,參開本人Qt 下的收藏夾。不規(guī)則按鈕。
圖片路徑獲取,打開資源文件。相應(yīng)圖片右鍵,選項(xiàng) 復(fù)制資源路徑到粘貼板。
代碼放置位置,在cpp文件下、如下。
?🔹3.5為 地鼠 添加 定時器
? ? ? ? 地鼠,在一定的時間下,到點(diǎn),跳到其他位置。此文并未添加地鼠洞。所以是全圖隨機(jī)。這是一個函數(shù),所以在頭文件的類中需要添加聲明。
void Game::timerEvent(QTimerEvent *) {ui->pushButton->move(QRandomGenerator::global()->bounded(0,1200),QRandomGenerator::global()->bounded(0,1200));killTimer(timerNum);timerNum=startTimer(500);//500毫秒跳一次 }
再通過按鈕的槽函數(shù),增加點(diǎn)擊事件
void Game::on_pushButton_clicked() {killTimer(timerNum);timerNum=startTimer(500);}
🔹3.6 改變鼠標(biāo)樣式,增加簡單錘子。
? ? ? ? 添加如下代碼。并綁定在窗口下。
QCursor cCursor;QPixmap cMap("....圖片路徑...");QSize cSize(60, 60);// 鼠標(biāo)形狀大小,可以自己指定,合適即可QPixmap cScaleMap = cMap.scaled(cSize, Qt::KeepAspectRatio);cCursor = QCursor(cScaleMap);ui->widget->setCursor(cCursor);
代碼位置依舊。
🔴四:完善,增加,退出游戲,簡易分?jǐn)?shù),簡易難度?
🔺4.1 退出游戲按鈕
? ? ? ? 增加按鈕,放置右下角,更名,不再贅述。
void Game::on_pushButton_2_clicked() {close(); }
🔺4.2分?jǐn)?shù)
在窗口左上角添加 2個laber 部件,一個作為名字,一個記錄分?jǐn)?shù)。
簡易: 每打一次地鼠,分?jǐn)?shù)增加。
在頭文件增加一個 整形 變量用以分?jǐn)?shù)存儲和增加
void Game::on_pushButton_clicked() {killTimer(timerNum);timerNum=startTimer(500);a += 10;ui->label_2->setNum(a); }
🔺4.3簡易難度
? ? ? ? ? ? 添加一個整形變量,右下角增加2個按鈕,點(diǎn)擊后改變地鼠跳變時間。
🔺4.4 鼠標(biāo)在普通按鈕上變回普通樣式
QCursor cCursor2;ui->pushButton_2->setCursor(cCursor2);ui->pushButton_3->setCursor(cCursor2);ui->pushButton_4->setCursor(cCursor2);
🚩結(jié)束語:基本完成簡易地鼠,若有其他想法,自行完善
?🉑要想不迷路,點(diǎn)贊加關(guān)注🔥