首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt QPixmap指针限制

Qt QPixmap指针限制
EN

Stack Overflow用户
提问于 2013-06-02 02:57:41
回答 1查看 754关注 0票数 0

我在Qt中遇到了一个非常奇怪的QPixmap问题。我用C++ btw编写代码。无论如何,问题是,只要我想在我的主窗口类中创建一个第9个QPixmap指针,程序就会崩溃。所以这是可行的:

代码语言:javascript
复制
class MainWindow : public QMainWindow
{
    Q_OBJECT
    QPixmap *doorOpened, *doorClosed, *dirUp, *dirDown, *dirNone, *timePause, *timePlay, *timeStop;
     //QPixmap *doorOpen;
 public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
private:
    Ui::MainWindow *ui;
};

然后就崩溃了:

代码语言:javascript
复制
class MainWindow : public QMainWindow
{
    Q_OBJECT
    QPixmap *doorOpened, *doorClosed, *dirUp, *dirDown, *dirNone, *timePause, *timePlay, *timeStop;
     QPixmap *doorOpen;
 public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
private:
    Ui::MainWindow *ui;
};

这部分工作是使用Qt Creator和窗口设计器完成的,正如您可能从代码中猜到的那样。

那么,我在这里做错了什么,导致了这种奇怪的行为?

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-02 03:04:57

尝试在初始化或访问它们之前,先在构造函数中将所有指针初始化为零。

此外,QPixmap还有一个函数isNull()。这对于检查它们的错误非常有用。

此外,如果您使用像素映射的默认构造函数(doorOpen = new QPixmap();),然后使用要使用的文件名调用load(),则可以检查load()的返回值以执行错误检查。

http://qt-project.org/doc/qt-4.8/qpixmap.html#isNull

http://qt-project.org/doc/qt-4.8/qpixmap.html#load

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16876175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档