first commit
This commit is contained in:
49
mainwindow.cpp
Normal file
49
mainwindow.cpp
Normal file
@@ -0,0 +1,49 @@
|
||||
#include "mainwindow.h"
|
||||
#include "ui_mainwindow.h"
|
||||
#include <QHBoxLayout>
|
||||
#include <QVBoxLayout>
|
||||
#include <QSplitter>
|
||||
#include <QTabWidget>
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent)
|
||||
: QMainWindow(parent)
|
||||
, ui(new Ui::MainWindow)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
setWindowTitle("GStreamer Camera Viewer");
|
||||
resize(1400, 900);
|
||||
|
||||
setupUI();
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
{
|
||||
delete m_socketClient;
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void MainWindow::setupUI()
|
||||
{
|
||||
// Create socket client
|
||||
m_socketClient = new SocketClient("/tmp/vizion_control.sock", this);
|
||||
|
||||
// Create widgets
|
||||
m_videoWidget = new VideoViewerWidget(this);
|
||||
m_pipelineWidget = new GStreamerPipelineWidget(m_socketClient, this);
|
||||
m_cameraWidget = new CameraControlWidget(m_socketClient, this);
|
||||
|
||||
// Create tab widget for controls
|
||||
QTabWidget* controlTabs = new QTabWidget(this);
|
||||
controlTabs->addTab(m_pipelineWidget, "Pipeline Control");
|
||||
controlTabs->addTab(m_cameraWidget, "Camera Control");
|
||||
|
||||
// Create vertical splitter: video on top, controls on bottom
|
||||
QSplitter* mainSplitter = new QSplitter(Qt::Vertical, this);
|
||||
mainSplitter->addWidget(m_videoWidget);
|
||||
mainSplitter->addWidget(controlTabs);
|
||||
mainSplitter->setStretchFactor(0, 3); // Video gets more space
|
||||
mainSplitter->setStretchFactor(1, 1); // Controls get less space
|
||||
|
||||
// Set as central widget
|
||||
setCentralWidget(mainSplitter);
|
||||
}
|
||||
Reference in New Issue
Block a user