gpt4 book ai didi

c++ - 如何使子部件独立?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:30:49 25 4
gpt4 key购买 nike

假设我有一个主Widget,用来查看一些对象。这些对象的名称存储在 QListWidget 中。现在,当用户选择一个对象(QListWidget 的一项)时,我想在一个单独的窗口中打开另一个小部件,该窗口将对象的名称作为参数。

class MainWidget
{
Q_OBJECT

public slots:
void openSelection();

};

class ChildWidget
{
public:
ChildWidget(QString name, QWidget* parent = nullptr);
};

void MainWidget::openSelection()
{
QString selectedObjectName = ui->objectsNamesList->selectedItem()->text();
ChildWidget* detaildedWiew = new ChildWidget(selectedObjectName, this);
detaildedWiew->show();
}

当我这样做时,子部件打开,但它没有自己的空间。它被锁定在 parent 的区域。我需要让 children 自由,在屏幕上自由奔跑,独立于他们的 parent 。我怎样才能做到这一点?是否有一些 Qt 方法,或者我是否必须定义一些“伪子”关系并开发一个系统来正确删除伪子?

最佳答案

您可以使用QWidget::setWindowFlags(Qt::Window) 使您的小部件成为一个单独的窗口。也看看 Qt::WindowFlags .

关于c++ - 如何使子部件独立?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11684690/

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