2014-02-06 56 views
0

我试图在Qt应用程序中显示图标。问题是,我不知道该怎么做。我已经阅读了多个论坛,Qt documentation,但我仍然对如何做到这一点感到困惑。如何在Qt应用程序中显示图像

我想要的是一个图标,当你保持你的光标时,它会显示一个工具提示。我为它创建了一个类,因为我的程序需要其中的一些。

你有什么要知道:

- 我的图像是在不同的文件夹

- 这个类仅用于显示一个图标/图像和工具提示。

,尤其是圆形是我想要显示 Interrogation

图像这是我得到了什么,到目前为止,我甚至不知道我是否在朝着好的方向也得走。

InformationIcon::InformationIcon(QString toolTipInformation){ 
    this->setMask(":\img\Interrogation.png"); 
    this->setToolTip(toolTipInformation); 
    this->setToolTipDuration(5000); 
    this->show() 
} 

我想你为什么做这样一些信息。我是一名初学者,我正在努力学习。

感谢

+0

为了获得格式为':\ img \ Interrogation.png'的图像,您需要涉及资源文件。请参阅“Qt资源系统”。 – vahancho

+1

'\ i'是未定义的字符(一个,不像你想象的那样)。如果你想在代码中的任何字符串中使用反斜杠,你应该输入'\\',而不是'\'。此外,对于Qt资源路径,你应该使用斜线,而不是反斜杠(':/img/bla.png') –

+0

谢谢。我会改变我的路线,我会参考Qt资源系统。 – Chax

回答

0

可以,请使用QLabel与QLabel来显示图像::像素图

+0

是的,但如何,我不明白如何去做。我的对象是否必须是QLabel?或者我只是创建一个QLabel的对象并使用show()函数? – Chax

+0

您只需将QLabel放置在窗体上并将某些路径传递给图像即可。我不知道你如何访问你的表单,可能是这样的: 'ui-> label1-> setPixmap(“:/ img/Interrogation.png”);'' – folibis

0
QLabel * widget_to_show_image_on = new QLabel(this); 

// Add to layout 

widget_to_show_image_on->setPixmap(QPixmap(path_to_pixmap)); 
0
InformationIcon::InformationIcon(QString toolTipInformation, int toolTipTimeDuration){ 
    this->setPixmap(QPixmap(":/img/Interrogation.png")); 
    this->setToolTip(toolTipInformation); 
    this->setToolTipDuration(toolTipTimeDuration); 
} 

这似乎很好地工作。区别在于它从QLabel而不是QWidget开始。

感谢您的帮助

相关问题