假设我有一个主 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();
}
当我这样做时,子小部件会打开,但它没有自己的空间。它被锁定在父区域中。我需要让孩子们自由,在屏幕上自由奔跑,独立于他们的父母。我怎样才能做到这一点?有一些 Qt 方法,还是我必须定义一些“伪子”关系并开发一个系统来正确删除伪子?