多路h265监控录放开发-(6)完成相机配置读取和列表显示列表显示

xviewer.cpp

void XViewer::RefreshCams()
{
    auto c = XCameraConfig::Instance();
    ui.cam_list->clear();
    int count = c->GetCamCount();
    for (int i = 0; i < count; i++)
    {
        auto cam = c->GetCam(i);
        auto item = new QListWidgetItem(
            QIcon(":/XViewer/img/cam.png"), C(cam.name));
        ui.cam_list->addItem(item);
    }
}//119

XViewer::XViewer(QWidget *parent)
    : QWidget(parent)
{
    ui.setupUi(this);
    ui.normal->setVisible(false);

    //setWindowFlags: 这是一个成员函数,用于设置窗口的各种标志(flags)。
   // Qt::FramelessWindowHint: 这是一个标志(flag),表示窗口应该是无边框的,不会有默认的标题栏和边框。
    setWindowFlags(Qt::FramelessWindowHint);

    //布局head和body 垂直布局器
    auto vlay = new QVBoxLayout();
    //边框间距
    vlay->setContentsMargins(0, 0, 0, 0);
    //元素间距,head and body的间距为0
    vlay->setSpacing(0);
    vlay->addWidget(ui.head);
    vlay->addWidget(ui.body);
    this->setLayout(vlay);

    //相机列表 和相机预览
    //水平布局器
    auto hlay = new QHBoxLayout();
    ui.body->setLayout(hlay);
    //边框间距
    hlay->setContentsMargins(0, 0, 0, 0);
    hlay->addWidget(ui.left);
    hlay->addWidget(ui.cams);
    
    //
  /// 初始化右键菜单
  // 视图=》  1 窗口
  //          4 窗口
    auto m = left_menu_.addMenu(C("视图"));
    auto a = m->addAction(C("1窗口"));
    connect(a, SIGNAL(triggered()), this, SLOT(View1()));
    a = m->addAction(C("4窗口"));
    connect(a, SIGNAL(triggered()), this, SLOT(View4()));
    a = m->addAction(C("9窗口"));
    connect(a, SIGNAL(triggered()), this, SLOT(View9()));
    a = m->addAction(C("16窗口"));
    connect(a, SIGNAL(triggered()), this, SLOT(View16()));

    //默认九窗口
    View9();

    //刷新左侧摄像机列表
    XCameraConfig::Instance()->Load(CAM_CONF_PATH);//119
    {
        XCameraData cd;
        strcpy(cd.name, "camera1");
        strcpy(cd.save_path, ".\\camera1\\");
        strcpy(cd.url,
            "rtsp://test:x12345678@192.168.2.64/h264/ch1/main/av_stream");
        strcpy(cd.sub_url,
            "rtsp://test:x12345678@192.168.2.64/h264/ch1/sub/av_stream");
        XCameraConfig::Instance()->Push(cd);
    }//119

    RefreshCams();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值