본문 바로가기

728x90

분류 전체보기

(95)
PyQt GUI (4) : 위젯 이벤트 연결 (버튼 클릭 시 반응 하게 하기) - clicked.conncet() https://www.youtube.com/watch?v=jnWiIMWVcdA 이전까지의 포스팅은 위젯을 생성하고 이 위젯을 원하는 위치에 배치하여 UI를 띄우는 것이 주된 내용이었습니다. 실제 UI에서는 사용자가 위젯을 사용하기에 따라서 프로그램이 반응을 해야 합니다. 예를들어서, 버튼을 클릭했을 때 프로세스가 실행이 된다든가, 콤보박스에서 원하는 아이템을 선택했을 때, 프로그램에서는 어떤 아이템을 선택했는지를 인지한다든가 입니다. 이번 포스팅에서는 각 위젯에 이벤트를 어떻게 처리 하는지, 즉 사용자의 위젯 사용에 따라서 프로그램이 어떻게 반응해야 하는지를 설계해 보도록 하겠습니다. 우선 전체 코드는 아래와 같습니다. import sys from PyQt5.QtWidgets import * class ..
PyQt GUI (3) : QFormLayout을 이용한 위젯 배치 https://www.youtube.com/watch?v=Tjq8TICkx3E 지난 포스팅 에서 QVBoxLayout, QHBoxLayout, QGridLayout을 이용하여 위젯을 배치하는 것을 알아봤습니다. 이번 포스팅에서는 조금 특수한 형태의 레이아웃이라 할 수 있는 QFormLayout을 이용하여 위젯을 배치해 보도록 하겠습니다. 인터넷의 회원 가입창에서 주로 볼 수 있는 자기 소개(혹은 개인 정보)를 입력하는 UI의 기본 코드는 아래와 같습니다. import sys from PyQt5.QtWidgets import * class Main(QDialog): def __init__(self): super().__init__() self.init_ui() def init_ui(self): main_l..
PyQt GUI (2) : 레이아웃을 이용한 위젯 배치 - QVBoxLayout, QHBoxLayout, QGridLayout 사용법 https://youtu.be/A2S9TQV0wuk GUI에서 가장 중요한 것 중에 하나는 위젯을 원하는 위치에 배치하는 것입니다. 지난 포스팅 (1) PyQt GUI Hello World에서는 위젯을 소개하는것이 주요 내용이었다면, 이번 포스팅에서는 QVBoxLayout, QHBoxLayout을 이용하여 위젯을 배치하는 것을 소개하도록 하겠습니다. 네이버 사전에서 "layout"을 검색하면 [배치]라는 의미가 나옵니다. 앞에서 언급한 바와 같이 layout은 위젯을 "배치" 하는 것 인데요. PyQt에서 가장 많이 이용하는 layout의 종류로는 QHBoxLayout : 위젯을 가로방향(수평방항 horizontal)으로 나란하게 배치 QVBoxLayout : 위젯을 세로방향(수직방향 vertical)으..
PyQt GUI (1) : PyQt GUI Hello World https://www.youtube.com/watch?v=U_vWfzhWINw PyQt를 이용한 GUI 만들기 첫 시간입니다. GUI에서 가장 많이 사용하는 위젯인 Label : 가장 간단하게 Text를 출력하는 위젯 PushButton : 버튼 위젯 ComboBox : 여러 목록 중 하나를 선택할 수 있는 위젯 CheckBox : 체크, 언체크를 선택할 수 있는 위젯 RadioButton : 여러 목록 중 하나를 선택할 수 있는 위젯 SpinBox : 정수를 쉽게 입력 할 수 있는 위젯 DateEdit : 날짜를 입력 하는 위젯 TimeEdit : 시간을 입력하는 위젯 ListWidget : 리스트의 원소를 출력하는 위젯 을 한 번씩 만들어 보는 가장 간단한 GUI프로그램을 생성합니다. import s..
주식의 정량적 분석 (1) : 주가 변화의 분포 - 정규 분포가 아닌 라플라스 분포! 주가는 인문, 사회적인 요인에 의해 변동하지만 결과만 놓고 본다는 주가는 단순히 일종의 시계열(Time series)이기에 수학적인 방법론을 이용하여 주가의 변화을 분석할 수 있다. 연속된 포스팅에서는 주가의 변화가 과연 어떠한 수학적, 통계학적 성질을 띄고 있는지에 대해서 알아 볼 것이다. 이번 포스팅에서는 가장 간단한 분석이라 할 수 있는 "주가의 변화는 과연 어떠한 분포를 따르는가?"에 대한 답을 해 볼 것이다. 주가의 변화는 어떤 분포를 따르는가? 위 그래프는 2000년 1월 1일 부터 현재 (2021년 1월 25일)까지 삼성전자의 주가 그래프이다. 주가는 매일 변화하였고, 그 결과 약 20년만에 10배 인상되었다. 위 그래프는 지난 10년 간, 일봉 차트의 등락을 나타낸 것이다. 붉은색은 주가가..
[고전역학-8] 해밀턴 역학 : 해밀턴-야코비 방정식으로 고전 역학 문제 풀기 예제 해밀턴-야코비 방정식 복습 해밀턴-야코비 방정식을 고전 역학 문제를 푸는 또 다른 방법론에 의해 도입된 방정식 입니다. 이 방법에서는 일반화 좌표와 운동량을 직접적인 미분 방정식을 통해서 구하지 않고, 시스템에 적합한 정준 변환을 찾고, 이 정준 변환으로 부터 일반화 좌표와 운동량의 시간에 따른 함수를 구합니다. 해밀턴-야코비 방정식은 이 적합한 정분 변환을 구하는 방식입니다. 해밀턴-야코비 방정식은 정준 변환의 생성자 $F$ 가 만족해야 하는 편미분 방정식으로 $$H\Big(q, \frac{\partial F}{\partial q}, t \Big) + \frac{\partial F}{\partial t} = 0$$ 입니다. 이차원 단조화진동자 문제를 라그랑주 방정식과 해밀턴-야코비 방정식을 이용해 풀기..
[고전역학-7] 해밀턴 역학 : 해밀턴-야코비 방정식 정준 변환의 생성자 복습 지지난 포스팅에서는 정준 변환을, 지난 포스팅에서는 정준 변환을 비교적 쉽게 얻을 수 있는 방법중에 하나인 정준 변환의 생성자에 대해서 알아보았습니다. 정준 변환의 생성자는 말 그대로 정준 변환을 생성해 주는 함수로, 이 함수만 정의하면 위상 공간에서의 좌표 변환 $(q, p) \rightarrow (Q, P)$ 가 정준 변환이 되도록 만들어 주는 방법이 있었습니다. 그 중에서 가장 유용한 생성자는 $q, P$를 변수로 하는 함수 $F(q, P)$로, $F(q, P)$에 대해서, $$p = \frac{\partial F}{\partial Q}$$ $$Q = \frac{\partial F}{\partial P}$$ 와 같이 정준 변환을 정의하면, 이 변환은 정준 변환이 됩니다. $..
[고전역학-6] 해밀턴 역학 : 정준 변환의 생성자 (Generator) 정준 변환 복습 지난 포스팅에서는 정준 변환에 대해서 알아보았습니다. 정준 변환은 위상 공간의 좌표 변환인데, 변환된 공간의 좌표에서 해밀턴 운동 방정식의 형태를 보존하는 좌표 변환입니다. 정준 변환의 예로 (1)위치와 운동량 좌표를 바꾸는 변환과 (2)단조화진동자의 해밀토니안을 매우 간단히 변화 시키는 변환을 알아보았습니다. 아주 간단하면서도 중요한 정준 변환을 알아 보았으니, 이번 포스팅에서는 일반적으로 정준 변환을 만드는 방법을 알아 보도록 하겠습니다. 정준 변환의 조건을 변환의 야코비 행렬로 표현하면? 별다른 조건이 없는 임의의 변환 $(q, p) \rightarrow (Q, P)$가 정준 변환이 될 가능성은 거의 없습니다. (이 포스팅에서도 편의를 위해서 자유도가 1인 시스템의 위상 공간을 생각..

728x90