我的小部件没有显示在主窗口中。.qt

My widget doesn't show on the mainwindow. qt

本文关键字:窗口 qt 显示 小部 我的      更新时间:2023-10-16

在我的程序中的场景是这样的,用户打开一个XML文件,程序读取它。显示单元和测试,当用户单击所需的测试时,程序需要显示其步骤。由于步骤的数量总是变化,我需要通过代码添加小部件并删除它们。但是当我尝试通过代码添加小部件并设置其位置时,它不会显示在主窗口上。(我用一个单独的类来做这件事,只是为了让事情看起来更整洁)

下面是我的示例代码;

  void CStepPanel::addstep()
      {
           QLabel *label1 = new QLabel("step1");
           label1->move(450,50);

       }

你知道它不起作用吗?我该怎么做呢?因为我是新的qt和编程我有一个艰难的时间关于这个

您的小部件应该有一个父部件,以便在其他小部件或对话框中显示。您应该为标签设置父类。如果你想让它显示在主窗口上,那么指向QMainWindow的指针应该保存在CStepPanel类中(它可以在CStepPanel的构造函数中分配):

QMainWindow * mainWindow;

addstep就像:

QLabel *label1 = new QLabel("step1");
label1->setParent(mainWindow);
label1->move(450,50);