#include "mainwidget.h" #include "./ui_mainwidget.h" #include 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() { }