Skip to content
Snippets Groups Projects
Commit 52ca3917 authored by 박영민's avatar 박영민
Browse files

느낀점 수정

parent edb9b876
No related branches found
No related tags found
No related merge requests found
......@@ -35,10 +35,13 @@ Audacity 원본코드에 직접적으로 적용하기 전에 wxPython을 활용
우선, 간단한 창(wxWindow)에 텍스트(wxStaticText)를 추가하고 이 텍스트의 폰트(wxFont)를 변경하는 것으로 시작했다. 이 단순한 예제를 활용해 wxFont와 SetFont()를 통한 폰트 설정이 제대로 동작하는지 확인했다.
![그림3](/uploads/91ce877e890e8831706d28c7ad7f97d8/스크린샷_2024-06-21_오전_9.51.48.png)
main_panel에 폰트변경을 설정하여 static text가 변하는 것을 확인할 수 있었다.
그 다음으로는 패널(wxPanel)과 그 안에 추가적인 패널이 포함된 복잡한 구조에서도 동일한 폰트 변경이 가능한지, MenuBar의 폰트도 변경이 가능한 지 실험을 진행했다. 이 과정을 통해 폰트 변경 코드를 어느 위치에 넣어야 전체 프로그램에 일괄적으로 적용되는지를 확인하고자 했다.
![그림4](/uploads/d1640df8bfc32e9f4b2d98c4ef455223/스크린샷_2024-06-21_오전_9.55.02.png)
main_panel에 폰트변경을 설정하여 panel 내부의 text와 button이 바뀌는 것을 확인할 수 있었다.
하지만 MenuBar의 경우에는 폰트를 바꿀 수 있는 방법이 확인되지 않았다. wxMenuBar는 wxWindow에 붙어 상단의 메뉴바를 표시해주는데, wxMenuBar의 함수에는 폰트를 설정할 수 있는 SetFont가 없었고 상위의 wxWindow의 폰트를 변경해도 MenuBar의 폰트가 변경되지는 않았다. wxMenuBar 하위의 wxMenu는 내부에 wxMenuItem을 통한 항목추가로 SetFont가 가능하다는 것을 확인했다.
......@@ -236,13 +239,17 @@ AUDACITY_DLL_API wxFrame &GetProjectFrame( AudacityProject &project )
# 느낀점
맨 처음 프로젝트를 시작할 때, 저는 C++를 사용해보지 않은 상태였다. 이전에는 Python이나 C와 같은 다른 프로그래밍 언어를 배웠지만, C++은 처음 접해보았다. 이로 인해 프로젝트 초반에는 Audacity의 코드를 이해하는 데 어려움을 겪었다. C++의 문법과 특성을 익히지 않은 상태에서는 코드를 해독하고 프로그램의 동작 원리를 이해하는 것이 쉽지 않았다. 그러나 프로젝트를 진행하며 저는 C++의 기본적인 문법을 학습하고 Audacity의 코드를 이해하려 노력했다. Audacity의 구조와 클래스들 간의 상호작용을 파악하면서 점점 코드를 읽고 이해하는 데에 자신감을 쌓을 수 있었다. C++의 객체지향 프로그래밍 개념을 활용해 코드를 분석하고 수정하는 과정에서 저의 프로그래밍 능력이 크게 성장했다.
또한, 웹 페이지를 제작해본 경험은 있었지만, 애플리케이션을 빌드해본 경험은 없었다. 이번 프로젝트를 진행하며, Audacity를 빌드해 폰트 변경을 확인했다. 이 과정에서 빌드를 처음 진행해봐 파일이 꼬이고, 설정이 잘못되는 등의 시행착오가 있었지만, 이를 통해 코드에서 애플리케이션으로의 빌드 과정을 이해할 수 있었다.
박영민
맨 처음 프로젝트를 시작할 때, C++를 사용해보지 않은 상태였다. 이로 인해 프로젝트 초반에는 Audacity의 코드를 이해하는 데 어려움을 겪었다. C++의 문법과 특성을 익히지 않은 상태에서는 코드를 해독하고 프로그램의 동작 원리를 이해하는 것이 쉽지 않았다. 그러나 프로젝트를 진행하며 C++의 기본적인 문법을 학습했고 이를 통해 결과 Audacity의 구조와 클래스들 간의 상호작용을 파악할 수 있었다.
또한, 이번 프로젝트는 코드를 작성하고 Audacity를 빌드해 폰트 변경을 확인했어야 했다. 애플리케이션을 빌드해본 경험은 없었기에 빌드 시에 파일이 꼬이고, 설정이 잘못되는 등 어려움을 겪었다. 그러나 이를 통해 코드에서 애플리케이션으로의 빌드 과정을 이해할 수 있었다.
마지막으로, wxWidgets라는 크로스 플랫폼 GUI 라이브러리에 대해 학습하면서 GUI 애플리케이션의 개발 방법과 구조를 이해할 수 있었다. 하나의 코드가 다양한 운영체제에 사용되며 동일한 환경을 제공하는 것이 신기했다. wxWidgets이 아닌 다른 Qt, Electron과 같은 다른 크로스 플랫폼 GUI 라이브러리도 사용해보고 싶다.
마지막으로, wxWidgets라는 크로스 플랫폼 GUI 라이브러리에 대해 학습하면서 GUI 애플리케이션의 개발 방법과 구조를 이해하는 데 많은 도움이 되었다. wxWidgets를 통해 다양한 운영 체제에서 일관된 사용자 경험을 제공하는 방법과, 각 요소들 간의 관계를 시각적으로 디자인하고 코드로 변환하는 기술을 습득하게 되었다.
프로젝트를 진행하며 매 순간 ‘왜 이렇게 아는게 없고, 못하지’라는 생각을 가졌다. 아직까지 모르는 내용도 많고, 처음 시도해보는 것도 많다는 것을 깨달을 수 있었고, 더 노력해야겠다고 생각했다.
아직까지 모르는 내용도 많고, 처음 시도해보는 것도 많다는 것을 깨달았던 프로젝트였던거 같다. 이번 프로젝트를 통해 부족함을 인지했고, 더 노력해야겠다.
안관우
# 출처
- wxWidgets 문서 : https://docs.wxwidgets.org/3.0/
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment