gpt4 book ai didi

c++ - 如何将小部件(例如 QPushButton)动态添加到设计器内置的布局

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

我正在玩 Qt,主要是想为 symbian 重写一个旧的 Java 应用程序,但我自己有点困惑。

我应该首先说明 C++ 不是我的功夫,这可能是问题的原因。

我想做的是在运行时在 qt 设计器中构建的主窗口中将一个简单的 QPushButton 添加到垂直布局。

我的示例代码是这样的...

QPushButton button = new QPushButton();

QString text("Testing Buttons");

button.setText(text);

//How do we add children to this widget??

ui->myLayout->addWidget(button);

我得到的错误如下...

/home/graham/myFirstApp/mainwindow.cpp:22: error: conversion from ‘QPushButton*’ to non-scalar type ‘QPushButton’ requested

/home/graham/myFirstApp/mainwindow.cpp:27: error: no matching function for call to ‘QVBoxLayout::addWidget(QPushButton&)’

/home/graham/myFirstApp/../qtsdk-2010.05/qt/include/QtGui/qboxlayout.h:85: candidates are: void QBoxLayout::addWidget(QWidget*, int, Qt::Alignment)

现在我知道第一个错误与指针有关,但我不知道是什么,如果有人能够消除我的困惑并提供很棒的示例代码。

问候

格雷厄姆。

最佳答案

这只是一个C++问题,当你使用new-operator时,你需要使用星号将按钮声明为指针。

QPushButton* button = new QPushButton();
button->setText(text);
ui->myLayout->addWidget(button);

关于c++ - 如何将小部件(例如 QPushButton)动态添加到设计器内置的布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4787275/

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