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 it segfaults. 어쨌든, QPixmap과 관련된 모든 것이 끝나면 생성자에서 가지고 있던 QTimer를 인스턴스화하여 문제를 해결했습니다. 이상한. –
[ "암시 적 공유 클래스"] (http://qt-project.org/doc/qt-4.8/implicit-sharing.html#implicit-data-sharing)'QPixmap'은 이미 일종의 스마트 포인터입니다. 포인터와 함께 사용해서는 안됩니다. – alexisdm