Framework
-
- [PyQt] 맥(Mac)에서 윈도우(Windows)와 비슷하게 메뉴 표시하는 방법맥(Mac)에서 윈도우(Windows)와 비슷하게 메뉴 표시하는 방법들어가며한 줄의 코드를 넣음으로써 맥에서 실행되는 PyQt의 메뉴가 윈도우와 비슷하게 표현되도록 만들 수 있다. 방법menubar.setNativeMenuBar(False) 참고 사이트 06) 메뉴바 만들기 - GUI 어플리케이션에서 메뉴바(menu bar…wikidocs.net
2023.09.21 -
- [PyQt] QTableWidget에 1,000 단위로 쉼표(,)를 추가하고 숫자 정렬 기능 추가하기QTableWidget에 1,000 단위로 쉼표(,)를 추가하고 숫자 정렬 기능 추가하기 들어가며 PyQt5에서 @QTableWidget@에 값을 넣을 때, 기본적으로 @string@ 형식의 값이 들어가게 된다.(@int@형의 값은 넣을 수 없다.) 이 때, @QTableWidget@에 (@string@ 형의) 숫자를 넣을 때 1,000 단위로 쉼표(@,@)를 추가하고, 정렬(오름차순/내림차순)을 할 수 있도록 구현해보자. 실습을 위한 QTableWidget 객체 생성 하기 다음과 같이 실습을 위해 필요한 @QTableWidget@ 객체를 생성한다. self.table_widget = QTableWidget(self) self.table_widget.setGeometry(50, 50, 400, 200) ..
2023.07.20 -
- [PyQt] 간단한 CRUD(Create, Read, Update, Delete) 프로그램간단한 CRUD(Create, Read, Update, Delete) 프로그램 들어가며 PyQt5로 간단한 CRUD(Create, Read, Update, Delete) 기능을 수행할 수 있는 프로그램을 만들어보자. 코드 @QTextEdit@ 위젯을 이용하여 CRUD 기능을 수행할 수 있는 메모장과 비슷한 프로그램이다. import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEdit, QAction, QFileDialog class TextEditor(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): self.textEdit = QT..
2023.07.18 -
- [PyQt] QTimer.singleShot 함수를 특정 시간 간격으로 여러번 실행하는 방법QTimer.singleShot 함수를 특정 시간 간격으로 여러번 실행하는 방법들어가며@PyQt5@에서 @QTimer.singleShot@ 함수를 특정 시간 간격으로 여러번 실행할 수 있다.@QTimer.singleShot@ 함수는 밀리초 단위의 시간 지연을 준 후, 특정 함수를 실행해주는 함수이다. 예제다음은 @QTimer.singleShot@ 함수를 3초 간격으로 여러 번 실행하는 예제이다.반복문과 재귀 호출을 이용하여 구현하였다.from PyQt5.QtCore import QTimerclass MyClass: def __init__(self): self.count = 0 def start_timer(self): self.count = 0 self.r..
2023.07.16 -
- [PyQt] QAction에서 triggered 시그널을 사용할 때, 인자를 triggered 메서드에 전달하는 방법QAction에서 triggered 시그널을 사용할 때, 인자를 triggered 메서드에 전달하는 방법PyQt의 @QAction@에서 @triggered@ 시그널을 사용할 때, 인자를 @triggered@ 메서드에 전달하는 방법을 알아보자. 람다 함수 사용하기action = QAction("My Action", parent)action.triggered.connect(lambda: my_function(arg1, arg2))my_function은 arg1과 arg2를 인자로 받는 함수이다.triggered 시그널이 발생하면, 람다 함수가 호출되고 my_function이 호출된다.arg1과 arg2는 람다 함수에서 직접 전달된다. @functools.partial@ 사용하기import functoolsa..
2023.07.08 -
- [PyQt] QClipboard.Clipboard와 QClipboard.Selection의 차이점PyQt5에서 @QClipboard.Clipboard@와 @QClipboard.Selection@의 차이점들어가며@QClipboard.Clipboard@와 @QClipboard.Selection@은 PyQt에서 클립보드의 데이터를 설정 및 가져오는 방법을 지정하는 상수이다. 사용법다음 모듈을 @import@하여 클립보드 기능을 사용할 수 있다.from PyQt5.QtGui import QClipboard 사용 예def copyElementNameToClipboard(self): name = self.sender().text() app = QApplication.instance() clipboard = app.clipboard() clipboard.setText(name, QClipb..
2023.07.07 -
- [PyQt] 커스텀 아이콘 패키지(fugueicons) 설치 및 사용해보기PyQt 커스텀 아이콘 패키지(fugueicons) 설치 및 사용해보기 들어가며 PyQt에는 기본 아이콘 팩이 있지만(참고), 아이콘의 종류가 적다. 그래서 커스텀 아이콘 패키지(@fugueicons@)를 설치하여 사용할 수 있다. 방법 @pyqt5-fugeicons@ 패키지 설치하기 터미널에서 다음 명령을 실행하여 @pyqt5-fugeicons@ 패키지를 설치한다. > pip install pyqt5-fugueicons 아이콘 사용해보기 다음과 같이 모듈을 불러와@fugeicons@의 아이콘을 사용해볼 수 있다. import pyqt5_fugueicons as fugue @icon()@ 메서드를 사용하여 아이콘을 불러올 수 있다. PyQt 기본 아이콘팩의 아이콘을 사용하는 방법과 유사하다. @QActi..
2023.07.05 -
- [PyQt] style().standardIcon() 메서드에서 사용할 수 있는 아이콘 종류 및 숫자PyQt style().standardIcon() 메서드에서 사용할 수 있는 아이콘 종류 및 숫자 들어가며 PyQt에는 기본적으로 내장되어 있는 표준 아이콘(Standard Icon)들이 있다. 아이콘 파일을 직접 구하지 않고 사용할 수 있으므로, 프로그램을 만들 때 활용하면 유용하다. 아이콘 확인해보기 import sys from PyQt5.QtWidgets import QApplication, QGridLayout, QPushButton, QStyle, QWidget class Window(QWidget): def __init__(self): super(Window, self).__init__() icons = sorted([attr for attr in dir(QStyle) if attr.start..
1 2023.05.17 -
- [PyQt] PyQt5에서 QWebView 사용하기PyQt5에서 QWebView 사용하기들어가며원래 PyQt에서 @QWebView@ 위젯을 사용할 수 있었으나, PyQt5에서부터는 더 이상 기본으로 제공되지 않게 되었다.따라서 @QWebView@ 위젯을 사용하려면 @QWebEngineView@ 모듈을 사용해야 한다. 그리고 @QWebView@ 객체가 아닌, @QWebEngineView@ 객체를 사용한다. 방법다음의 명령을 터미널에서 실행하여 @QWebEngineView@를 사용하기 위해 필요한 패키지를 설치한다.> pip install PyQtWebEngine 다음과 같이 @import@ 하여 사용한다.from PyQt5.QtCore import QUrlfrom PyQt5.QtWidgets import QApplication, QWidgetfrom Py..
2023.05.16 -
- [PyQt] 구글 번역기 프로그램 만들기 & "'NoneType' object has no attribute 'group'" 이슈 해결하기PyQt로 구글 번역기 프로그램 만들기들어가며PyQt를 이용하여 간단하게 한글의 문장을 영어 문장으로 번역하는 프로그램을 만들어보자.이때, 무료로 사용할 수 있는 구글 번역기 패키지(@googletrans@)를 사용하도록 한다. 코드import sysfrom PyQt5.QtWidgets import *from googletrans import Translatorclass MyApp(QWidget): def __init__(self): super().__init__() self.lbl1 = QLabel('한국어:', self) self.lbl2 = QLabel('영어:', self) self.le = QLineEdit(self) self..
2023.05.15 -
- [PyQt] self.width()와 self.height()를 사용할 때, 실행창이 튕기는 경우 해결 방법PyQt에서 self.width()와 self.height()를 사용할 때, 실행창이 튕기는 경우 해결 방법들어가며PyQt에서 @self.width()@와 @self.height()@를 사용할 때, 실행창이 튕기는 경우가 있다.예를 들어, @self.width()@ 값과 @self.height()@ 값을 직접 정수로 나누어 사용하는 경우 실행창이 튕기게 된다.qp.drawPoint(self.width() / 2, self.height() / 2) 해결 방법@self.width() / 2@와 @self.height() / 2@의 결과값이 실수형(Float)이기 때문에 실행창이 튕기게 되는 것이다.따라서 다음과 같이 정수형 타입 변환 함수 @int()@를 사용해줘야 한다.qp.drawPoint(int(se..
2023.05.14