我在Qt中有QPixmap的一個很奇怪的問題。 我使用C++編碼。 無論如何,問題是,只要我想在我的主窗口類中創建第9個QPixmap指針,程序就會崩潰。 所以此工程:Qt QPixmap指針限制
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;
};
這種崩潰:
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創建者和櫥窗設計師完成的,因爲你可以通過代碼已經猜到了。
那麼我在這裏做錯了什麼導致這種奇怪的行爲?
在此先感謝!
它如何崩潰?你在stderr中有錯誤嗎?隨意分享:) – bartimar
@bartimar它只是segfaults。無論如何,我通過在QPixmap相關的所有東西之後實例化QTimer來解決這個問題。雖然奇怪。 –
作爲[「隱式共享類」](http://qt-project.org/doc/qt-4.8/implicit-sharing.html#implicit-data-sharing)'QPixmap'已經是一種智能指針,所以它不應該與指針一起使用。 – alexisdm