프로그래밍 관련/PyQt
PyQt . Context Menu (마우스 우클릭 메뉴 만들기)
존버매니아.임베디드 개발자
2021. 12. 2. 21:45
반응형
4.6 컨텍스트 메뉴 - 공학자를 위한 PySide2 (wikidocs.net)
취미로 하는 프로그래밍 !!! :: PyQt5 -- context menu 사용법 3가지 (QTableWidget 사용함) (tistory.com)
위 두사이트 참고하여 공부해서 정리할 것
context menu란?
마우스 오른쪽 눌렀을 때 저렇게 메뉴 띄우는 기능을 말한다.
import sys
from PyQt5.QtWidgets import *
from PyQt5 import QtCore
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setupUI()
def setupUI(self):
self.setGeometry(800, 200, 800, 300)
self.ta1 = QTableWidget(self)
self.ta1.resize(400, 500)
self.ta1.setColumnCount(3)
self.ta1.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
action1 = QAction("메뉴1" , self.ta1)
action2 = QAction("메뉴2" , self.ta1)
action1.triggered.connect(self.action1_fun)
action2.triggered.connect(self.action2_fun)
self.ta1.addAction(action1)
self.ta1.addAction(action2)
table_column=["첫번째 열" , "두번째 열" , "Third 열"]
self.ta1.setHorizontalHeaderLabels(table_column)
#행 2개 추가
self.ta1.setRowCount(2)
#추가된 행에 데이터 채워넣음
self.ta1.setItem(0, 0, QTableWidgetItem("(0,0)"))
self.ta1.setItem(0, 1, QTableWidgetItem("(0,1)"))
self.ta1.setItem(1, 0, QTableWidgetItem("(1,0)"))
self.ta1.setItem(1, 1, QTableWidgetItem("(1,1)"))
def action1_fun(self):
print("action1 메뉴 선택")
def action2_fun(self):
print("action2 메뉴 선택")
if __name__ == "__main__":
app = QApplication(sys.argv)
mywindow = MyWindow()
mywindow.show()
app.exec_()
반응형