c – 无法在Qt中设置几何体
我在Qt5中的一个非常简单的程序中遇到了setGeometry的错误.
int main(int argc,char *argv[]) { QApplication a(argc,argv); QLabel* m_photo = new QLabel; m_photo->setPixmap(QPixmap("test.jpg")); m_photo->show(); return a.exec(); }
我看到Qt adding custom widget to a layout,但我不明白这个评论. 解决方法
可能是因为你没有使用setGeometry()而得到这个错误,你应该自己设置几何.试试这个:
m_photo->setGeometry(200,200,200); 更好的方法:标签应该与图片大小相同.为此,您可以使用QPixmap方法width()和height QLabel* m_photo = new QLabel; QPixmap px("G:/2/qt.jpg"); m_photo->setPixmap(px); m_photo->setGeometry(200,px.width(),px.height()); m_photo->show(); 编辑. 我理解你为什么会得到这个错误.这很简单,你的图片不加载!为什么?非常简单:可能你的图片(test.jpg)被放在exe文件附近,但Qt没有看到这个文件(因为Qt使用另一个构建目录) 解决方案:将test.jpg放在正确的目录中或设置pixmap完整路径(例如,我做“G:/2/test.jpg”).也可以使用此代码:检查是否成功加载了图片. QLabel* m_photo = new QLabel; QPixmap px("G:/2/qt.jpg"); if(!px.isNull()) { m_photo->setPixmap(px); m_photo->show(); } else qDebug() << "Cannot find picture"; 它现在有效吗? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |