Qt自学开发5_菜单复选框猜数游戏

本文探讨了Qt中QTextEdit的赋值与获取方法,QPushButton的checkable特性,ToolButton菜单按钮的应用,QCheckBox与QRadioButton的使用技巧,以及如何利用QTime生成随机数并应用于猜数游戏。

20200524

【QTextEdit】

      1. 设置:1.1 文本形式赋值  1.2 html格式赋值

      2. 获取:2.1 文本形式  2.2 html格式

#include <QDebug>

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

    //设置
    //第一种:文本形式赋值
    ui->textEdit->setText("11111");

    //第二种 html格式赋值
    ui->textEdit->setHtml("<strong>22222</strong>");

    //获取
    //第一种 文本形式
    qDebug()<< ui->textEdit->toPlainText()<<endl;

    //第二种 html格式
    qDebug()<<ui->textEdit->toHtml()<<endl;
}

结果显示:

 

Qt常用部件及相关函数

【QPushButton】中的checkable()功能演示

(1)*.ui中添加Button

(2)设置  ui->pushButton->setCheckable(true); //设置为true

(3)connect绑定,添加槽函数的声明(*.h)及定义(*.cpp)

    connect(ui->pushButton,SIGNAL(clicked(bool)),this,SLOT(doProcessClicked(bool)));//bool
void Widget::doProcessClicked(bool ret){
  
  
    qDebug()<<ret<<endl;
}

效果如下:

若是注释这句话: //ui->pushButt

虽然给定引用中未直接提及在Ubuntu系统中使用Qt进行游戏开发的内容,但可以基于对Qt和Ubuntu系统的一般性了解来阐述大致方法。 Qt是跨平台的应用程序开发框架,支持Ubuntu系统,可用于构建图形化界面和功能强大的应用程序,这为开发游戏提供了基础环境和工具支持 [^1]。 在Ubuntu系统下使用Qt开发游戏,步骤如下: 1. **安装Qt**:可参考在Ubuntu下安装和使用Qt的相关资料,安装完成后,能使用Qt提供的类库和API进行开发 [^1]。 2. **创建项目**:打开Qt Creator,创建一个新的Qt Widgets Application项目。 3. **设计界面**:利用Qt Designer设计游戏界面,可能包含输入框用于玩家输入测的字、按钮用于提交测、标签用于显示提示信息等。 4. **编写代码逻辑**: - 生成随机:在程序启动时,生成一个1 - 100(可根据需求调整范围)之间的随机作为答案。 - 处理用户输入:获取玩家在输入框中输入的字,与答案进行比较。 - 显示提示信息:根据比较结果,在标签上显示“大了”“小了”或“对了”等信息。 - 控制游戏流程:若对了,可显示恭喜信息并提供重新开始的选项;若错了,允许玩家继续测。 示例代码如下: ```cpp #include <QApplication> #include <QWidget> #include <QVBoxLayout> #include <QLineEdit> #include <QPushButton> #include <QLabel> #include <QRandomGenerator> class GuessNumberGame : public QWidget { Q_OBJECT public: GuessNumberGame(QWidget *parent = nullptr) : QWidget(parent) { // 生成随机 answer = QRandomGenerator::global()->bounded(1, 101); // 创建界面元素 input = new QLineEdit(this); guessButton = new QPushButton("", this); resultLabel = new QLabel("请输入一个1 - 100之间的字", this); // 布局 QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(input); layout->addWidget(guessButton); layout->addWidget(resultLabel); setLayout(layout); // 连接信号和槽 connect(guessButton, &QPushButton::clicked, this, &GuessNumberGame::checkGuess); } private slots: void checkGuess() { int guess = input->text().toInt(); if (guess > answer) { resultLabel->setText("大了,再试试!"); } else if (guess < answer) { resultLabel->setText("小了,再试试!"); } else { resultLabel->setText("对了,恭喜你!"); } } private: int answer; QLineEdit *input; QPushButton *guessButton; QLabel *resultLabel; }; #include "main.moc" int main(int argc, char *argv[]) { QApplication app(argc, argv); GuessNumberGame game; game.show(); return app.exec(); } ``` ### 相关问题 1. 在Ubuntu系统下使用Qt开发游戏,如何优化界面设计? 2. 怎样在Qt开发游戏中增加难度级别选择功能? 3. 若要将游戏移植到移动设备上,需要做哪些修改? 4. 在Ubuntu系统下使用Qt开发游戏,如何进行性能优化? 5. 怎样在游戏中添加排行榜功能?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卢奕冰2017

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值