如何在Qt上定位QLabel?

时间:2017-02-21 20:35:38

标签: c++ qt

我正在编写一个程序,我需要通过代码创建QLabel,而不是拖放,但我在定位QLabel时遇到问题,这就是代码我有:

   if(ui->WorksList->currentItem()->text() == "Work1")
   {
       ui->InformationLabel->show();
       QLabel *label = new QLabel(this);
       label->show();
       label->setText("Extraction");
       label->setMinimumWidth(100);
       int x = 2000;
       x = label->geometry().x();
       int y = 2000;
       y = label->geometry().y();   
   }

使用这段代码,我的QLabel不会从左上角移动。

谢谢

1 个答案:

答案 0 :(得分:-1)

您发布的代码不会移动任何内容;正如其中一条评论所说,您必须使用move方法移动标签。如果它没有出现,那么它可能在屏幕外或被其他东西掩盖,或两者兼而有之。 move方法的坐标位于父窗口小部件的坐标中,而不是屏幕,而不是窗口。您已将QLabel作为this的父级,因此坐标相对于this的左上角,无论是什么。

您的代码未显示this是什么,也没有提及this的区域有多大,因此我们无法确定哪些坐标可能合理。