QT——代码布局

#include "w_titlebarwidget.h"
#include <QLabel>
#include <QToolButton>
#include <QHBoxLayout>
#include <QDesktopWidget>
#include <QApplication>
#include <QDebug>
#include <QImage>
#include <QStyle>



Titlebarwidget::Titlebarwidget(QWidget* parent)
    :QWidget(parent),
    w_ico(new QLabel(this))
    ,w_title_text(new QLabel(this))
    ,w_mix_but(new QToolButton(this))
    ,w_max_but(new QToolButton(this))
    , w_rest_but(new QToolButton(this))
    ,w_close_but(new QToolButton(this))
    ,w_main_horizontal(new QHBoxLayout(this))
    ,w_title_horizontal(new QHBoxLayout(this))
    , w_pushbut_horizontal(new QHBoxLayout(this))
    ,_parentwidget(parent)
{
    assert(_parentwidget);
    init_();
    _all_signal_slot();
    w_title_horizontal->addWidget(w_ico);
    w_title_horizontal->addWidget(w_title_text);
    w_title_horizontal->setContentsMargins(2, 0, 0, 0);

    w_mix_but->setObjectName("w_mix_but");
    w_max_but->setObjectName("w_max_but");
    w_rest_but->setObjectName("w_rest_but");
    w_close_but->setObjectName("w_close_but");
    w_title_text->setObjectName("w_title_text");

    w_pushbut_horizontal->addWidget(w_mix_but);
    w_pushbut_horizontal->addWidget(w_max_but);
    w_pushbut_horizontal->addWidget(w_rest_but);
    w_pushbut_horizontal->addWidget(w_close_but);
    w_pushbut_horizontal->setContentsMargins(0, 0, 0, 0);
    w_pushbut_horizontal->setSpacing(0);

    w_mix_but->setFocusPolicy(Qt::NoFocus);
    w_max_but->setFocusPolicy(Qt::NoFocus);
    w_rest_but->setFocusPolicy(Qt::NoFocus);
    w_close_but->setFocusPolicy(Qt::NoFocus);

    w_main_horizontal->addLayout(w_title_horizontal);
    w_main_horizontal->addStretch();
    w_main_horizontal->addLayout(w_pushbut_horizontal);
    w_main_horizontal->setContentsMargins(3, 0, 0, 0);
}

 

posted @ 2022-10-08 20:47  雾枫  阅读(59)  评论(0编辑  收藏  举报