inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[입문] Qt 6 프로그래밍 2편

위젯프로그램 위에 챠트 띄우기

563

김재우

작성한 질문수 10

1

강사님 안녕하세요
 
강의를 통해 Qt를 배우고 주로 단순히 하나의 창위에서 프로그램하는 위젯 프로그램을 만들고 있습니다.
해당 위젯에 Qt Charts 의 linechart 를 출력하려고 하는데요
아래 그림과 같이 버튼을 눌렀을때 라인차트를 그리려고 하는데
챠트를 임의의 위젯 위에 올려야 하는데 어떻게 하는지 가이드를 좀 주실 수 있을까요?
챠트도 하나의 위젯으로 window 창에서 오픈하는 예제는 있는데 위젯위에 위젯을 띄우는 방법이 궁금합니다.
물론 레이아웃이 적용이되어 위젯의 크기를 바꿀때 챠트도 비례하여 늘고 줄었으면 합니다.
 

GUI qt

답변 1

0

김대진

안녕하세요. 재우님,~~

예를 들어 QChartView 오브젝트가 아래와 같이 chartView 라고 가정해볼께요. 

QChartView *chartView = new QChartView(chart);

 

chart 가 line chart 라고 가정하면 chartView 의 오브젝트는 QChartView 클래스인데요. 이 클래스는 QGraphicsView 클래스를 상속받고, QGraphicsView 를 따라가보면 QWidget 을 상속받습니다. 따라서 QChartView 클래스의 상속을 따라가보면 QWidget 을 상속받습니다. 

 

그렇기 때문에 QWidget 안에 넣을때 QChartView 클래스의 오브젝트를 QVBoxLayout 같은 위젯에 먼저 넣고 QVBoxLayout 을 QWidget 안에 넣으면 됩니다.

정확지는 않지만 소스코드로 표현하면 아래와 같이 할 수 있습니다.

QWidget *myWidget = new QWidget(this);
QVBoxLayout *mainLayout = new QVBoxLayout;

QChartView *chartView = new QChartView(chart);

mainLayout->addWidget(chartView);
myWidget->setLayout(mainLayout);

위와 같은식으로 하면 QWidget 안에 chart를 넣을수 있습니다.

궁금한것 있으면 언제든 질문해주세요.~

Build system의 Obs 에 관한 질문

1

40

2

로드맵 재수강 로드맵 할인문의

1

47

2

강의 재수강 문의

1

63

2

강의 연장 문의

1

84

2

강의 연장 질문

1

66

2

22강 후반부와 23강 전반부의 내용이 겹칩니다.

1

60

1

코드 크가가 너무 작은대 이거 화면확대 어떻게 하나요?

0

185

4

강의 자료 pdf 다운로드 할 수 있을까요?

0

103

3

혹시 강의 연장 가능할까요? ㅠㅠ

1

80

2

custom Widget 강의 에서 알려주신 promoted widgets 질문 드립니다.

1

124

2

QML로 만든 파일도 똑같이 설치판 제작하면 되나요?

0

177

2

'Re-entrancy' 사용 시 프로그램 속도 문의드립니다.

1

116

2

QImage에서 이미지가 안불러와집니다.

1

329

2

Android 폰에서 개발환경 설정과 예제 App 구현 질문드립니다.

1

307

1

'Re-entrancy를 만족하는 Thread 예제 구현' 에서 질문있습니다.

1

366

2

크로마키 영상처리 소스코드 구현 (2/2편) 에러가 발생합니다.

1

365

1

Writing QML Extensions with C++ 내용에 대해서 질문드립니다!

1

350

1

Qt Creator 기능 질문드립니다.

1

342

1

QT로 이미지나 json 파일 가져올때

1

439

1

QT로 구현한 프로그램 실행관련 및 추가질문

1

1373

3

Go to slots 을 사용했을때 connect 함수 위치

1

360

1

Qt Quick 모듈의 해석 질문드립니다.

3

364

2

QT에서 그래프 챠트 그리는 방법 문의

2

1874

2

Window에서 프로그래밍한 것을 리눅스로 옮기는 방법

2

395

1