QLabel自动调整QT大小

时间:2015-04-23 14:31:45

标签: c++ qt qlabel

我正在努力解决Qlabel及其维度的烦人问题。我创建了一个程序,用鼠标提取图像内某些特定点的坐标。图像被加载到Qscrollarea内的Qlabel内。程序有效,但由于QLabel的自动调整大小,坐标出错。 Qlabel的主要内容是:ScaleContent为true,以及设置为prefeered的verical和horizo​​ntal策略。

在开头我用这种方式加载带有布局的图像:

void esempio::on_actionNormaleSize_triggered()
{
//---------------------------------------------------------
//     code to restore the original size of the image
//---------------------------------------------------------

imagesize = ui->label_show->size();
imagesize.rheight() = imagesize.rheight()*1/scaleFactor;
imagesize.rwidth() = imagesize.rwidth()*1/scaleFactor;

//restoring factor
scaleFactor =1;

ui->label_show->resize(imagesize);
ui->scrollContent->resize(imagesize);
}

我尝试使用尺寸为1000x1000的玩具图像。程序正确加载图像,Qlabel的大小为1000x1000但是一旦程序启动(我选择图像内的像素),QLabel的尺寸变为982x982,产生像素选择的错误。对于instace,应该是499x499的图像中心是479x479。

似乎垂直和水平的scroolbar减小了图像的大小。

有没有人对这个问题有任何想法? 可能这是一个愚蠢的问题,它很容易解决,但我无法找到解决方案。

另一个例子。

{{1}}

通过使用此功能,我想恢复图像的原始大小。如果比例因子为1,则尺寸应保持不变,但每次我称之为我的玩具图像的尺寸都会以这种方式减小。 1000x1000,982x982,964x964,946x946,928x928等......

由于

0 个答案:

没有答案