목록Python/Pycharm (7)
군침이 싹 도는 코딩
1. pycharm 패키징 완료후 ui로 사용한 ui 파일이 같이 패키징 되지 않았던 문제 pyinstaller --add-data "포함시킬 파일;." # --add-data 옵션을 통해서 처리했다 포함시킬 파일이 여러개라면 여러번 써주면 된다 2. QtWebEngineWidgets 이 없다는 오류 이 오류는 main.py에 임포트 과정에서 애스터리스크 (*) 를 사용해서 개발하고 마무리 과정에서 따로 임포트 해주지않아서 발생한것으로 생각된다 pyinstaller --hidden-import PyQt5.QtWebEngineWidgets # -- hidden-import 옵션을 사용해서 처리했다 3. 개발에 사용된 이미지와 패키징한 게임이 실행되지 않는 문제 이 오류는 이미지와 패키징한 게임을 실행하는 ..
import sys from PySide2.QtWidgets import * from PySide2.QtCore import * class Form(QWidget): def __init__(self): super(Form, self).__init__() # V 박스 생성 self.vb = QVBoxLayout() # 메인 레이아웃으로 V 박스를 지정 self.setLayout(self.vb) # 라인 에딧 생성 self.ln = QLineEdit() # 라인 에딧의 정렬 속성을 오른쪽 정렬로 변경 self.ln.setAlignment(Qt.AlignRight) # 라인 에딧의 폰트 크기와 굵기를 조절 self.ln.setStyleSheet('font-size: 24px;' 'font-weight: bol..

# 폼 레이아웃 생성 self.form = QFormLayout() # 메인 폼의 메인 레이아웃으로 지정 ( 이때 화면의 크기가 최소화 된다 ) self.setLayout(self.form) # 라인 에딧을 생성 self.lnName = QLineEdit() # 라인 에딧을 폼 레이아웃에 넣어준다 self.form.addRow("이름 : ", self.lnName) # 라인 에딧2를 생성 self.lnPNum2 = QLineEdit() # 라인 에딧2를 폼 레이아웃에 넣어준다 self.form.addRow('보호자연락처: ', self.lnPNum2) # 라인 에딧 추가 self.lnId = QLineEdit() # 버튼 추가 self.btnFindId = QPushButton('중복검사') # H 박스..
from PySide2.QtWidgets import * # 개발할때 임포트를 하나씩 적기 귀찮을때 이런식으로 임포트 옆에 애스터리스크를 찍어서두고 완료된 후에 하나씩 적어주면 편하다
import sys from PySide2.QtWidgets import QApplication, QWidget, \ QLineEdit, QPushButton, QVBoxLayout, QHBoxLayout, QLabel class Form(QWidget): def __init__(self): super(Form, self).__init__() # 메인창에 타이틀 제목을 표시한다 self.setWindowTitle('레이아웃 테스트') # V 박스 하나를 만든다 self.vb = QVBoxLayout() # V 박스를 메인창에 세팅한다 self.setLayout(self.vb) # H 박스 3개를 만든다 self.hbTop = QHBoxLayout() self.hbMid = QHBoxLayout() sel..
pip install -U pyinstaller # pyinstaller 를 설치한다 pyinstaller -w -F main.py # main.py 소스코드를 main.exe로 생성 # 터미널에 해당 코드를 입력한다 -w 는 윈도우 실행시 콘솔창이 뜨지 않게 하는 옵션 -F 는 단일 실행 파일로 생성하는 옵션이다
런처를 만들던 중 로그인 화면 > 런처 화면으로 넘어갈때 로그인을 성공해도 런처가 바로 종료되는 문제 발생 self.game_launcher = GameLauncherApp() # 문제점은 로그인에 성공해도 런처 객체가 바로 소멸하여 프로세스가 종료되는것이였다 이를 해결하기위해서 런처 객체를 로그인 객체 안에 멤버 변수로 포함시켰다 game_launcher.show() > self.game_launcher.show() # 그 다음 로그인 버튼을 눌렀을때의 런처 실행 동작을 self.game_launcher.show() 로 바꿨다 game_launcher.show() 를 사용하면 GameLauncherApp() 의 객체를 참초하는 게임런처에서 실행시켜주는것이라 GameLauncherApp() 객체가 Log..