我正在编写一个程序,我需要通过代码创建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
不会从左上角移动。
谢谢
答案 0 :(得分:-1)
您发布的代码不会移动任何内容;正如其中一条评论所说,您必须使用move
方法移动标签。如果它没有出现,那么它可能在屏幕外或被其他东西掩盖,或两者兼而有之。 move
方法的坐标位于父窗口小部件的坐标中,而不是屏幕,而不是窗口。您已将QLabel
作为this
的父级,因此坐标相对于this
的左上角,无论是什么。
您的代码未显示this
是什么,也没有提及this
的区域有多大,因此我们无法确定哪些坐标可能合理。