基于Qt的车载GPS监控系统(3)界面设计

基于Qt的车载GPS监控系统(3)界面设计

界面框架

Qt程序主界面

这里写图片描述

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QTextCodec *codec = QTextCodec::codecForName("GB2312");
    QTextCodec::setCodecForTr(codec);
    QTextCodec::setCodecForLocale(codec);
    QTextCodec::setCodecForCStrings(codec);

    SysDialog *win = new SysDialog();
    win->show();//显示主界面
    return app.exec();
}

界面代码分析
主界面背景实现代码

SysDialog::SysDialog( QWidget *parent): QDialog( parent)
{
    ...
    this->setMinimumSize(800,480);
    this->setMaximumSize(800,480);
    this->setWindowIcon(QPixmap( ":/images/1.png") );
    this->setWindowTitle(tr("GP9001车载GPS监控系统"));
    label_pic_bg = new QLabel(this);
    label_pic_bg->setGeometry(QRect(0, 0, 800, 480));
    label_pic_bg->setPixmap(QPixmap(":/images/gp9001bg.jpg"));
    label_pic_bg->setScaledContents(true);

子功能按钮实现

    toolButtonState = new QToolButton(this);
    toolButtonState->setGeometry(QRect(20, 320, 100, 100));
    toolButtonState->setText( tr( "系统状态" ) );
    toolButtonState->setIcon( QPixmap( ":/images/car.png") );
    toolButtonState->setIconSize( QPixmap( ":/images/car.png").size() );
    toolButtonState->setAutoRaise( TRUE );
    toolButtonState->setToolButtonStyle( Qt::ToolButtonTextUnderIcon);
    connect(toolButtonState,SIGNAL(clicked()),this,SLOT(goCmdState()));

对应的槽函数

void SysDialog::goCmdState()
{
    ShowDialog *myDlg = new ShowDialog(this);
    if(myDlg->exec()){
        qDebug() << 1;
    }else{
        qDebug() << 2;
    }
    delete myDlg;
}

界面设计技术点说明

1.控件采用绝对坐标进行布局

    label_pic_bg->setGeometry(QRect(30, 80, 800, 480));
  //x=30,y=80,width=800,height=480

2.dialog背景如何设置为图片

    label_pic_bg = new QLabel(this);
    label_pic_bg->setGeometry(QRect(0, 0, 800, 480));
    label_pic_bg->setPixmap(QPixmap(":/images/9bg.jpg"));
    label_pic_bg->setScaledContents(true);

3.窗口之间如何进行调用
例如在窗口A中通过单击按钮启动窗口B
a)调用者A
调用A设置slot,new一个B窗口,使用exec()方法启动B窗口。

connect(toolButtonState,SIGNAL(clicked()),this,SLOT(goCmdState()));

void SysDialog::goCmdState()
{
    SetDialog *loginDlg = new SetDialog(this);
    if(loginDlg->exec()){
        qDebug() << 1;
    }else{
        qDebug() << 2;
    }
    delete loginDlg;
}

b)被调用者B

调用窗口按钮单击后能关闭窗口

connect(toolButton,SIGNAL(clicked()),this,SLOT(accept()));
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
基于QtGPS车载导航系统是一款运行在车辆上的定位导航软件,它通过全球定位系统GPS)来获取车辆的实时位置信息,并且利用地图数据和导航算法为驾驶员提供方便快捷的导航服务。这款系统使用Qt框架进行开发,具有界面友好、稳定性高、易于定制和扩展等优点。 首先,Qt框架提供了丰富的图形绘制、用户界面和事件处理功能,使得开发人员可以轻松实现导航界面设计和交互操作。用户可以通过地图界面输入目的地信息,系统会通过GPS定位计算最佳路线,并且在地图上实时显示车辆位置和行进路线,让驾驶员轻松地跟随地图指引行驶。 其次,基于QtGPS车载导航系统还可以通过接入各类地图数据源,包括在线地图服务和离线地图数据,为用户提供更加完善、准确的地图信息。同时,开发人员可以根据用户需求进行地图数据的定制和优化,满足不同用户对地图显示和信息的个性化需求。 另外,由于Qt框架的跨平台特性,这款GPS车载导航系统可以在不同操作系统上运行,包括Windows、Linux和嵌入式操作系统,满足了不同车辆导航设备的需求。而且,Qt框架还提供了丰富的功能模块和插件,如声音提示、路况信息、全景地图等,开发人员可以很方便地进行功能扩展和定制,为用户提供更加丰富的导航体验。 综上所述,基于QtGPS车载导航系统具有界面友好、稳定性高、易于定制和扩展等优点,能够为驾驶员提供精准、便捷的导航服务,使驾驶出行更加安全和舒适。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值