【问题标题】:How to use resource properly如何正确使用资源
【发布时间】:2014-09-02 12:49:09
【问题描述】:

当我使用资源时它崩溃了,我的程序不知道如何修复它。资源名称Resource.grc,前缀名称/imag,图片名称srce_sedam_one.jpg。其他一切正常。

QPixmap pixmap1 = QPixmap (":/imag/srce_sedam_one.jpg");
QMap<int, QPixmap> map;
map.insert(4, pixmap1);
ui->label_no->setPixmap(map.value(4));

【问题讨论】:

  • 程序在哪里崩溃?在调试器中运行它会得到什么?
  • 您确定不是ui-&gt;label_no-&gt;setPixmap(map.value(4)); 崩溃了吗?你是在ui-&gt;setupUi(this); 之前还是之后打电话?
  • 在确定之前调用
  • -1 因为您没有发布实际导致问题的代码。最少的测试用例:学习它们,使用它们。\

标签: c++ qt resources qpixmap


【解决方案1】:

添加您的配置文件并全部重建。

RESOURCES += \
    icons.qrc

icons.qrc 就我而言,你应该使用你的文件名。 Resource.qrc

然后在ui-&gt;setupUi(this);之后调用

ui->setupUi(this); 

QPixmap pixmap1 = QPixmap (":/imag/srce_sedam_one.jpg");
QMap<int, QPixmap> map;
map.insert(4, pixmap1);
ui->label_no->setPixmap(map.value(4));

您的应用崩溃是因为: ui-&gt;setupUi(this) 创建您放入 Qt Designer 的所有小部件。当你在setupUi 之前调用ui-&gt;label_no 时,你会使用空指针并崩溃。

【讨论】:

    猜你喜欢
    • 2018-04-16
    • 2011-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-03
    • 2013-01-09
    • 2016-03-10
    • 2023-03-24
    相关资源
    最近更新 更多