前言
本次实验目的是给黄金点游戏增加ui界面,由于游戏的书写是使用面向对象编程使用的语言为cpp,本次觉得利用Qt进行ui界面的设计与书写。
由此,本次记录的主要内容就是Qt的学习过程以及部分预期成果。
一、学习过程
1.简单熟悉信号与槽函数机制
(1)包括自动生成槽函数和主动利用connect连接信号和槽函数。该部分学习的ui文件如下:
(2)需要实现的功能为通过勾选控制文本框内文字的状态。其中connect部分代码如下:
(3)该部分需要写在构造函数中,代表界面刚刚显示的时候进行连接。
其余部分代码如下:
void Dialog::on_niu2_clicked(bool checked)
{
QFont font=ui->kuang->font();
font.setUnderline(checked);
ui->kuang->setFont(font);
}
void Dialog::on_niu1_clicked(bool checked)
{
QFont font=ui->kuang->font();
font.setItalic(checked);
ui->kuang->setFont(font);
}
void Dialog::on_niu3_clicked(bool checked)
{
QFont font=ui->kuang->font();
font.setBold(checked);
ui->kuang->setFont(font);
}
void Dialog::setTextFontColor()
{
QPalette plet=ui->kuang->palette();
if (ui->xuan3->isChecked())
plet.setColor(QPalette::Text,Qt::blue);
else if (ui->xuan2->isChecked())
plet.setColor(QPalette::Text,Qt::red);
else if (ui->xuan1->isChecked())
plet.setColor(QPalette::Text,Qt::black);
else
plet.setColor(QPalette::Text,Qt::black);
ui->kuang->setPalette(plet);
}
2.界面输入数据的后台接收
(1)该部分学习主要是进行,界面输入数据的后台接收。本次ui设计和软件工程理论课有关,设计了一个进行文本行数统计的软件界面。Ui文件如下:
(2)通过接收顶端的输入,后台操作后讲行数结果显示在文本框中。本次通过构造函数中使用hide将文本框先隐藏在show():
由于本次学习的代码涉及文件操作和Qt学习无关,但包含了部分Qt类的使用所以附在下面:
int MainWindow::ergodic(QString x){
int num;
QString mid=x;
QDir dir(mid