gpt4 book ai didi

c++ - 窗口的排列顺序

转载 作者:行者123 更新时间:2023-11-28 01:55:59 26 4
gpt4 key购买 nike

对不起我的英语。我需要执行 QWidget 的顺序。我有一堆对象 QWidget。我需要按照它们在堆栈中出现的顺序放置窗口。

例如:

堆栈:window1 -> window2 -> window3

在这个例子中,window2 总是关闭 window3,但它反过来又关闭了 window1

Qt中有这样的功能吗?我不仅限于 QWidget。也许您可以以某种方式指定顺序\windows 优先级?

QStackedWidget 类提供了一堆小部件,其中一次只有一个 小部件可见。我需要让所有小部件都可见,并且它们按优先级顺序相互覆盖。

也许有一些标志。 Qt::WindowStaysOnTopHint 它不适合我,所以 widget\windows 很多,应该涵盖所有内容。并且都按优先顺序排列。

最佳答案

你可以在窗口的关闭事件中显式关闭子窗口,像这样:

class WindowWithChildWindow : public QWidget
{
Q_OBJECT
public:
WindowWithChildWindow(QWidget *child)
: m_child(child)
{ }
....
protected:
void closeEvent(QCloseEvent *e) override
{
if (!m_child || m_child->close())
e->accept(); // close this window
else // child ignored the close request in its close event
e->ignore(); // do not close this window
}
....
};

关于c++ - 窗口的排列顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41169946/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com