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

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”后,进入编辑代码:

  bool ok;

    QString text = QInputDialog::getText(this,tr("修改姓名对话框"),tr("请输入姓名:"),QLineEdit::Normal,ui->NameLabel->text(),&ok);

    if ( ok && !text.isEmpty())
        ui->NameLabel->setText(text);

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

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

    QInputDialog* inputDialog=new QInputDialog(this);

    inputDialog->setWindowTitle("修改姓名对话框");
    inputDialog->setLabelText("请输入姓名:");
    inputDialog->setOkButtonText("确定");
    inputDialog->setCancelButtonText("取消");

    bool ok;

    if(inputDialog->exec()==QDialog::Accepted){
        ok=true;
    }else{
        ok=false;
    }

    QString text=inputDialog->textValue();

    if ( ok && !text.isEmpty())
    {
         ui->nameLabel->setText(text);
    }

运行结果:

 

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

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

修改性别”:
    QStringList     SexItems;
    SexItems << tr("男") << tr("女");
    bool ok;

    QString  SexItem = QInputDialog::getItem(this,tr("性别修改对话框"),tr("请选择性别:"),SexItems,0,false,&ok);

    if ( ok && !SexItem.isEmpty() )
        ui->SexLabel->setText(SexItem);

“修改年龄”:
    bool ok;
       int age = QInputDialog::getInt(this,tr("修改年龄对话框"),tr("请输入年龄:"),ui->AgeLabel->text().toInt(&ok),0,100,1,&ok);

       if ( ok )
           ui->AgeLabel->setText(QString(tr("%1")).arg(age));

“修改成绩”:
    bool ok;
    double score = QInputDialog::getDouble(this,tr("修改成绩对话框"),tr("请输入成绩:"),ui->ScoreLabel->text().toDouble(&ok),0,100,1,&ok);

    if ( ok )
        ui->ScoreLabel->setText(QString(tr("%1")).arg(score));

运行程序,查看结果:

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值