当前位置:   article > 正文

Qt5 学习之路及嵌入式开发教程11:Qt5标准输入对话框类及QSlider控件_qt创建一个input

qt创建一个input

Qt5 学习之路及嵌入式开发教程11:Qt5标准输入对话框类及QSlider控件

这次任务要完成弹出窗口及QSlider控件的界面设计及代码编写

一、Qt5弹出窗口

1、界面式布局

建立项目工程文件

(1)、建立应用程序

选择后,命名、两个下一步后进入设置界面

下一步后点击完成。

⑵、进入设置界面,进行界面布局设计

双击dialog.ui,进入界面设计页面。

在界面拖曳一个PushButton控件,其属性设置如下:

其设计效果:

(3),添加单击“学生基本信息”后弹出的窗口。

步骤:

①、右击项目文件,在弹出的菜单中找到“添加新文件”,进入选择界面

选择后:

下一步:

完成后,在左侧设计增加了StuDialog界面及文件

②、增加代码,使两界面有联系

步骤:

首先,双击中dialog.h,添加studialo.h头文件,然后定义窗口变量

其次,双击“dialog.ui”,右击“学生基本信息”控件,在弹出菜单中找到“转到槽”,进入设计界面。

确定后,最后添加代码:

③、运行程序,查看结果:

2、重复第1过程的步骤,再建立一个“调色示例”弹出窗口

其设计界面及属性:

设计界面:

其属性:

设计完毕后,再添加弹出窗口,最后效果

添加代码同第1过程:

运行效果:

二、功能界面设计及代码编写

1、功能界面设计(先设计“调色示例”)

双击“colormixdialog.ui”,进入界面设计。

第②、③部分属性设计如下(从上至下):

第②部分刻度大小:

界面运行效果:

2、功能代码实现

双击“colormixdialog.ui”,右击“SliderRed”,在弹出菜单找到“转到槽”

确定后,添加代码:

然后在窗口类ColorMixDialog的构造函数里添加另外三个槽函数:

3、运行程序,查看结果:

三、学生基本信息界面设计及代码编写

1、界面设计

双击“studialog.ui”进行界面设计

其属性:

界面运行效果:

2、功能代码实现

首先在studialog.cpp中加入头文件

其次:双击studialog.ui界面,右击“修改姓名”控件,在弹出菜单找到“转到槽”

单击“OK”后,进入编辑代码:

  1. bool ok;
  2. QString text = QInputDialog::getText(this,tr("修改姓名对话框"),tr("请输入姓名:"),QLineEdit::Normal,ui->NameLabel->text(),&ok);
  3. if ( ok && !text.isEmpty())
  4. ui->NameLabel->setText(text);

最后,运行程序,查看结果:

如果要把弹出窗口中的Ok,Cancel变为中文,要重新定义窗口,并赋值,代码如下:

  1. QInputDialog* inputDialog=new QInputDialog(this);
  2. inputDialog->setWindowTitle("修改姓名对话框");
  3. inputDialog->setLabelText("请输入姓名:");
  4. inputDialog->setOkButtonText("确定");
  5. inputDialog->setCancelButtonText("取消");
  6. bool ok;
  7. if(inputDialog->exec()==QDialog::Accepted){
  8. ok=true;
  9. }else{
  10. ok=false;
  11. }
  12. QString text=inputDialog->textValue();
  13. if ( ok && !text.isEmpty())
  14. {
  15. ui->nameLabel->setText(text);
  16. }

运行结果:

 

按同样步骤,完成“修改性别”,“修改年龄”,“修改成绩”功能。

其各自对应功能代码如下:

  1. 修改性别”:
  2. QStringList SexItems;
  3. SexItems << tr("男") << tr("女");
  4. bool ok;
  5. QString SexItem = QInputDialog::getItem(this,tr("性别修改对话框"),tr("请选择性别:"),SexItems,0,false,&ok);
  6. if ( ok && !SexItem.isEmpty() )
  7. ui->SexLabel->setText(SexItem);
  8. “修改年龄”:
  9. bool ok;
  10. int age = QInputDialog::getInt(this,tr("修改年龄对话框"),tr("请输入年龄:"),ui->AgeLabel->text().toInt(&ok),0,100,1,&ok);
  11. if ( ok )
  12. ui->AgeLabel->setText(QString(tr("%1")).arg(age));
  13. “修改成绩”:
  14. bool ok;
  15. double score = QInputDialog::getDouble(this,tr("修改成绩对话框"),tr("请输入成绩:"),ui->ScoreLabel->text().toDouble(&ok),0,100,1,&ok);
  16. if ( ok )
  17. ui->ScoreLabel->setText(QString(tr("%1")).arg(score));

运行程序,查看结果:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/109986?site
推荐阅读
相关标签
  

闽ICP备14008679号