본문 바로가기
프로그래밍/라이브러리

[PyQt] QMainWindow에서 QMenu 꺼내기

by 써드아이 2020. 5. 8.

메뉴 선택에 따라 버튼이나 다른 메뉴가 enable/disable 되도록 만들고자 했다.

 

메뉴로 사용된 QAction 의 인스턴스에서 setEnabled() 메소드를 호출해주면 되는데

이 인스턴스를 끄집어 낼 수가 없었다.

 

추가한 역순으로 QMainWindow에서 menuBar() 메소드로 QMenuBar 객체를

끄집어 내고, 여기서 QMenu 객체를 끄집어 내면 될듯 했는데...

QMenuBar 객체에서 QMenu 객체를 꺼낼 수가 없었다.

당연히 QAction 객체도 끄집어 낼 수 없다.

 

어쩔수 없이 추가할 때ㅐ 잘 보관했다가 쓰는 수 밖에..

따라서 QMenu 객체와 QAction 객체는 클래스 전역으로 선언해야했다.

 

 

QMenu에서 actionAt() 함수를 사용하면 QAction은 꺼낼 수 있는 것 같았는데

actionAt() 메소드의 인자가 QPoint 형이다.  어쩌란건지... ㅡㅡ;

 

 

그냥 이놈이건 저놈이건 잘 보관하도록 하자..

 

 

 

'프로그래밍 > 라이브러리' 카테고리의 다른 글

로깅 라이브러리  (0) 2021.12.06
[PyQt] ui 추출  (0) 2020.05.06
[PyQt] 시그널 블럭  (0) 2020.05.04
[PyQt] addLayout() / setLayout() 쓰임  (0) 2020.04.16
[PyQt] datime형과 QDate 간의 변환  (0) 2020.04.15