bskyvision RSS 태그 관리 글쓰기 방명록
2021-06-09 08:39:05
728x90

python, pyqt5로 만든 프로그램창을 항상 맨 위에 있게 하려면 setWindowFlags(Qt.WindowStaysOnTopHint)를 추가해줘야합니다.

 

타이틀 바를 없애려면 setWindowFlags(Qt.FramelessWindowHint)를 추가해줘야 합니다. 

 

그러면 우리는 프로그램창을 항상 맨 위에 있게 하면서 타이틀 바도 없애려면 둘 다 추가해주면 된다고 생각합니다. 

 

setWindowFlags(Qt.WindowStaysOnTopHint)

setWindowFlags(Qt.FramelessWindowHint)

 

그러나 이렇게 해주면 두번째 것만 적용이 됩니다. 둘 다 적용이 되게 하려면 or, 즉 | 를 사용해서 함께 넣어줘야 합니다. 다음과 같이 말이죠.

 

setWindowFlags(Qt.WindowStaysOnTopHint | Qt.FramelessWindowHint)

 

그러면 아무 내용이 없고 위 기능만 담은 아주 간단한 프로그램을 만들어서 보여드리겠습니다. 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtCore import Qt
 
class MyApp(QWidget):
 
    def __init__(self):
        super().__init__()
        self.initUI()
 
    def initUI(self):
        self.setWindowTitle('test')
        self.setWindowFlags(Qt.WindowStaysOnTopHint | Qt.FramelessWindowHint)
        self.move(400400)
        self.resize(200200)
        self.show()
 
 
if __name__ == '__main__':
   app = QApplication(sys.argv)
   ex = MyApp()
   sys.exit(app.exec_())
 
cs

 

위 코드를 실행해보겠습니다. 

 

회색으로 보이는 게 프로그램 창입니다

 

항상 위에 위치하고 타이틀 바가 없는 것을 확인하실 수 있습니다.

태그 : ,
댓글

방문해주신 모든 분들을 환영합니다.

* 글을 읽던 중에 궁금했던 부분은 질문해주세요.

* 칭찬, 지적, 의문, 격려, 감사표현 등을 남겨주세요.

* 최대한 답변 드리도록 노력하겠습니다.

* 욕설과 광고를 담은 댓글은 가차없이 삭제합니다.


  1. BlogIcon 꼬장스카이비전@2021.06.14 08:01 ~$ 메모앱같은게 저렇게 만든거구나 신기하네 [댓글주소]  [수정/삭제]  [답글작성]
guest@이름 ~$
guest@패스워드 ~$
guest@홈페이지주소작성 ~$

guest@댓글작성 ~$




bskyvision. Designed by bskyvision.