안녕하세요, 나는 객체 지향 프로그래밍에 익숙하지 않습니다. 여기에 내가 의도 세 애니메이션 플롯개체 간의 변수 공유를 제거하는 방법은 무엇입니까?
subwindow_movie *child_Movie = new subwindow_movie;
child_Movie->setGeometry(20,100,620,560);
child_Movie->setplot(0);
child_Movie->show();
subwindow_movie *child_Movie1 = new subwindow_movie;
child_Movie1->setGeometry(680,100,620,560);
child_Movie1->setplot(1);
child_Movie1->show();
subwindow_movie *child_Movie2 = new subwindow_movie;
child_Movie2->setGeometry(325,350,620,560);
child_Movie2->setplot(2);
child_Movie2->show();
를 만들하지만 문제는 그들이 내가 세 번째 subwindow_movie
이 child_movie0
및 child_movie1
을 만들어 전자는 모두 setplot
값이 2
될 setplot
의 모든 주와 같은 값; 그 제거하는 방법 ... 아래의 클래스
#include "subwindow_movie.h"
#include "ui_subwindow_movie.h"
#include "plot.h"
#include <qapplication.h>
#include <qmainwindow.h>
int movie;
subwindow_movie::subwindow_movie(QWidget *parent) :
QDialog(parent),
ui(new Ui::subwindow_movie)
{
ui->setupUi(this);
}
subwindow_movie::~subwindow_movie()
{
delete ui;
}
void subwindow_movie::setplot(int value)
{
if (value ==0)
{ d_plot0 = new Plot(this);
movie=0;}
else if (value ==1)
{ d_plot1 = new Plot(this);
movie=1;}
else if (value ==2)
{ d_plot2 = new Plot(this);
movie=2;}
}
void subwindow_movie::on_movie_slider_valueChanged(int value)
{
if (movie ==0)
{ d_plot0->setAlpha(value);
}
else if (movie ==1)
{ d_plot1->setAlpha(value);
}
else if (movie ==2)
{ d_plot2->setAlpha(value);
}
}
진짜 문제는 movie2
를 실행하는 child_movie0
원인 새 child_movie
의 창조에 대한 변경 int movie
입니다 내부의 설정 값 기능입니다. 난 movie
child_movie1
의 생성과 함께 child_movie0
에 대한 변경 변수를 원하지 않아.
int movie;
movie
변수의 하나의 인스턴스가 함께
이 제안하지만 여전히 영화 값이 새로운 child_movie 선언으로 변화를 시도 악 왜 .. :( – habbas33
해결 감사합니다 :) – habbas33
을 @ user3871970 좋은 :) 특별히 당신이해야 할 일이 구체적으로 무엇이며, 내 대답에 무엇을 추가 할 수 있습니까? –