Qt文档阅读笔记-stackUnder官方解析与实例

目录

官方解析

博主例子


官方解析

Qt文档阅读笔记-stackUnder官方解析与实例_第1张图片

这里可以配合raise()和lower()这两个函数来使用!

 

博主例子

用2个label,点击谁谁就浮在界面的最上面,很简单的代码,程序运行截图如下:

Qt文档阅读笔记-stackUnder官方解析与实例_第2张图片

源码如下:

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include 

QT_BEGIN_NAMESPACE
class QLabel;
QT_END_NAMESPACE

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    void mouseReleaseEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
    ~Widget();

private:
    Ui::Widget *ui;

    bool m_otherWidget;
    QList m_list;
};

#endif // WIDGET_H

widget.cpp

#include "widget.h"
#include "ui_widget.h"

#include 
#include 
#include 

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);

    m_otherWidget = false;
    QLabel *label1 = new QLabel(this);
    label1->setText("  label 1");
    label1->setGeometry(60, 60, 160, 110);
    label1->setStyleSheet("background-color: rgb(0,0,0); color: rgb(255,0,0);");
    label1->stackUnder(this);


    QLabel *label2 = new QLabel(this);
    label2->setGeometry(50, 50, 150, 100);
    label2->setText("  label 2");
    label2->setStyleSheet("background-color: rgb(0,255,255); color: rgb(255,0,0);");
    label2->stackUnder(this);

    label1->raise();
    label2->raise();
    qDebug()<children();
    m_list<button() == Qt::LeftButton){
        if(m_otherWidget){
            m_list[0]->raise();

        }
        else{
            m_list[1]->raise();
        }
        m_otherWidget = !m_otherWidget;
        event->accept();
        this->update();
    }
}

Widget::~Widget()
{
    delete ui;
}

main.cpp

#include "widget.h"
#include 

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    return a.exec();
}

 

你可能感兴趣的:(C/C++,Qt,文档阅读笔记)