xviewer.cpp中的构造函数
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的间距为0vlay->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);}void XViewer::MaxWindow()
{//把max放大控件设置为不可见ui.max->setVisible(false);//normal缩小控件可见ui.normal->setVisible(true);showMaximized();
}
void XViewer::NormalWindow()
{ui.max->setVisible(true);ui.normal->setVisible(false);showNormal();
}//窗口大小发生编码
void XViewer::resizeEvent(QResizeEvent* ev)
{//head_button是包含 放大缩小叉的一个容器,我们变动这个容器即可int x = width() - ui.head_button->width();//x随窗口移动int y = ui.head_button->y();//y不变 为y()ui.head_button->move(x, y);
}