Files
MyChat_Client/mainwidget.cpp
2025-05-18 20:36:34 +08:00

81 lines
1.8 KiB
C++

#include "mainwidget.h"
#include "./ui_mainwidget.h"
#include <QHBoxLayout>
MainWidget *MainWidget::instance = nullptr;
MainWidget *MainWidget::getInstance()
{
if(instance == nullptr) {
//此处不传入参数,以桌面为父窗口
//
instance = new MainWidget();
}
return instance;
}
MainWidget::MainWidget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::MainWidget)
{
ui->setupUi(this);
this->setWindowTitle("MyChat");
this->setWindowIcon(QIcon(":/resource/image/logo.png"));
//初始化主窗口的样式布局
initMainWindow();
//初始化左侧窗口的样式布局
initLeftWindow();
//初始化中间窗口的样式布局
initMidWindow();
//初始化右侧窗口的样式布局
initRightWindow();
}
MainWidget::~MainWidget()
{
delete ui;
}
void MainWidget::initMainWindow()
{
QHBoxLayout* layout = new QHBoxLayout();
//layout内部的元素间隔设置为0
layout->setSpacing(0);
//layout内部元素四个方向边界的距离设置
layout->setContentsMargins(0, 0, 0, 0);
this->setLayout(layout);
windowLeft = new QWidget();
windowMid = new QWidget();
windowRight = new QWidget();
windowLeft->setFixedWidth(70);
windowMid->setFixedWidth(310);
windowRight->setMinimumWidth(900);
windowLeft->setStyleSheet("QWidget { background-color: rgb(46, 46, 46); }");
windowMid->setStyleSheet("QWidget { background-color: rgb(247, 247, 247); }");
windowRight->setStyleSheet("QWidget { background-color: rgb(225, 225, 225); }");
layout->addWidget(windowLeft);
layout->addWidget(windowMid);
layout->addWidget(windowRight);
}
void MainWidget::initLeftWindow()
{
}
void MainWidget::initMidWindow()
{
}
void MainWidget::initRightWindow()
{
}