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(400, 400)
self.resize(200, 200)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyApp()
sys.exit(app.exec_())
|
cs |
위 코드를 실행해보겠습니다.
항상 위에 위치하고 타이틀 바가 없는 것을 확인하실 수 있습니다.
'코딩 > pyqt, pyside' 카테고리의 다른 글
[pyside6] 창 타이틀바에서 닫기 버튼, 최소화 버튼, 최대화 버튼 등을 비활성화 되게 하려면? (0) | 2022.06.07 |
---|---|
[pyqt5] 야구 중계에 스트라이크 존이 제공되지 않을 때 시청자를 위한 가이드 앱 (2) | 2022.03.16 |
[pyside6] QLabel에 이미지 넣을 때 종횡비(aspect ratio) 설정 (2) | 2022.02.27 |
[pyside6] 위젯 내 글자 크기를 변경하고 싶을 때 (0) | 2022.02.26 |
[pyside6] QThreadPool을 이용해서 몇 개의 스레드가 활성화되어 있는지 확인하기 (0) | 2022.02.25 |
[PySide6] DeprecationWarning: Fuction: 'globalPos() const' is marked as deprecated 경고 메시지 출력 안되게 하기 (0) | 2021.11.29 |
[pyqt5] 프로그램창을 항상 가장 위에 있게 하면서 동시에 타이틀 바도 없게 하려면? (2) | 2021.06.09 |