QBoxLayout的addWidget(QWidget * w)会改变w的parent()

示例:

我希望在page_frame对象中使用orders_add_page对象的price变量,

但按照下面这样写得到的price的值都不对。

int price;
orders_add_page::orders_add_page(QWidget *parent)
	: QDialog(parent)
{
    ui.setupUi(this);
    page = new page_frame(type, this);

    QVBoxLayout* layout = new QVBoxLayout(ui.page_main);
	layout->addWidget(page);
}
void page_frame::init_orders_add_page()
{
	orders_add_page* page = (orders_add_page*)p;
    qDebug()<<page->price;
}

原因:这样写,实际上我调用的是ui.page_main的price变量,而该变量并不存在,所以得到的值不正确。

本来我以为

page = new page_frame(type, this);

这样写,page的父类parent()就会是this。

    QVBoxLayout* layout = new QVBoxLayout(ui.page_main);
    layout->addWidget(page);

这两条语句,把page的父类parent()变为了ui.page_main。 

相关推荐

  1. QBoxLayoutaddWidget(QWidget * w)改变wparent()

    2024-04-26 21:32:01       37 阅读
  2. 人工智能(AI)如何改变我们工作和生活

    2024-04-26 21:32:01       63 阅读
  3. Vue3:组件间通信-$refs和$parent使用

    2024-04-26 21:32:01       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-26 21:32:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-26 21:32:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-26 21:32:01       82 阅读
  4. Python语言-面向对象

    2024-04-26 21:32:01       91 阅读

热门阅读

  1. 深度学习和强化学习的区别

    2024-04-26 21:32:01       47 阅读
  2. IDEA常用的快捷键

    2024-04-26 21:32:01       34 阅读
  3. 【k8s】(八)kubernetes1.29.4离线部署之-测试验证

    2024-04-26 21:32:01       37 阅读
  4. K8S Centos7 安装 K8S 1.26单机版

    2024-04-26 21:32:01       33 阅读
  5. linux下查看前10最耗内存的进程

    2024-04-26 21:32:01       32 阅读
  6. ElasticSearch7.x版本更新映射字段

    2024-04-26 21:32:01       30 阅读