【发布时间】:2017-06-17 13:53:23
【问题描述】:
我将 Qt creator 用于 c++ gui。我正在制作二十一点游戏。我希望能够将标签更改为卡片的背面(称为“backside.png”)、卡片的正面(称为“frontside.png”)。
当用户单击其中一个标准按钮时,我想检查标签上的图像(称为“cardlabel”)是显示卡片的背面还是卡片的正面。
如果显示的是背面,那么我将更改标签以显示卡片的正面,反之亦然。
是否有人能够(通过代码)向我展示,我如何询问“cardlabel”,它当前使用的是什么图像名称,并检查它当前在哪一侧。这对我的项目将是一个巨大的帮助。谢谢!!
【问题讨论】:
-
您可以在
QLabel上设置任何QPixmap。 API 很灵活,它不需要这个QPixmap来自一个文件。您可以从任何 IO 设备(例如网络)获取QPixmap,也可以在代码中硬编码。简而言之,一旦加载了QPixmap对象,就无法返回文件名。 所以,一旦你说QPixmap("file.png");,就会从文件中读取图像数据并将其加载到QPixmap,即使数据来自文件的事实也不再可从QPixmap获得。 -
我认为你需要将这个状态信息保存在另一个变量中,也许有一个单独的
QString来保存当前正在加载的文件的名称QPixmap。 . . -
为什么不从 QLabel 继承,例如创建您自己的 Card 类,并在其中存储信息,无论它是显示卡片的正面还是背面。你知道,OOP 风格。