c++ - 动态添加覆盖小部件

标签 c++ qt

是否可以动态添加新的子部件到父部件?

我有以下代码:

MyWidget : public QWidget
{
    MyWidget() : Qwidget() 
    {
        m_otherWidgets.push_back( new OtherWidget(this) ); // this will be painted
    }

    void addNew()
    {
        m_otherWidgets.push_back( new OtherWidget(this) ); // this will not be painted
    }

    std::vector<OtherWidget*> m_otherWidgets;
}

MyWidget bar(); // 1 other widget painted
bar.addNew(); // still only 1 other widget painted

Vector m_otherWidgets 包含一个子控件列表。问题是它只显示在构造函数期间创建的这个子部件。

最佳答案

没有更多信息我只能猜测,但您可能忘记调用 show()/setVisible(true)。在父级显示后添加的小部件并不总是显示。

关于c++ - 动态添加覆盖小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46846159/

相关文章:

C++:如何将 ASCII 或 ANSI 转换为 UTF8 并存储在 std::string 中

c++ - 构建 PHP 扩展时如何检查未损坏的 C++ 符号?

c++ - 错误的输出或从标准输入读取,C++

C++ vector 字面量,或类似的东西

qt - 在调整大小期间不要重新绘制窗口

c++ - Qt DBus 属性转换为映射

c++ - 为什么我无法使用此代码下载文件

c++ - 程序无法启动,因为缺少opencv_core2410d.dll

c++ - 尝试从链表返回数据时qt中的段错误

android - Qt/QML SwipeDelegate 在移动设备(Android、iOS)上无法正常工作