Modal : Dialog가 활성화된 후 닫을 때까지 다른 작업을 수행할 수 없는 다이얼 로그. exec()로 수행
Modaless : Dialog가 떠있는 상태에서 다른 작업을 할 수 있는 다이얼로그. show()로 수행
느낌이 오지 않을 때는 예제 보자..
# Modal Dialog
import sys
#from PySide6.QtCore import QSize, Qt
from PySide6.QtWidgets import QWidget, QDialog, QApplication, QPushButton
class Window(QWidget):
def __init__(self):
QWidget.__init__(self)
button = QPushButton('Open Dialog', self)
button.clicked.connect(self.handleOpenDialog)
self.resize(300, 200)
self._dialog = None
def handleOpenDialog(self):
if self._dialog is None:
self._dialog = QDialog(self)
self._dialog.resize(200, 100)
self._dialog.exec()
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
win = Window()
win.show()
sys.exit(app.exec())
"Open Dialog" button을 click 할 시, 새로운 Dialog를 뜨면서, 기존 Dialog는 비활성화 된다. 새로운 Dialog가 종료되어야지 기존 Dialog가 활성화 됨
import sys
#from PySide6.QtCore import QSize, Qt
from PySide6.QtWidgets import QWidget, QDialog, QApplication, QPushButton
class Window(QWidget):
def __init__(self):
QWidget.__init__(self)
button = QPushButton('Open Dialog', self)
button.clicked.connect(self.handleOpenDialog)
self.resize(300, 200)
self._dialog = None
def handleOpenDialog(self):
if self._dialog is None:
self._dialog = QDialog(self)
self._dialog.resize(200, 100)
self._dialog.show()
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
win = Window()
win.show()
sys.exit(app.exec())
"Open Dialog" button을 click하여, 새로운 Dialog가 생성되어도 기존 Dialog가 활성화 되어있다 ( Control 가능 )
# 위 code의 차이점
self._dialog.show() # modaless
self._dialog.exec() # modal
[PySide6] Tree Widget을 사용하여 data 출력 (0) | 2021.09.01 |
---|---|
[PySide6] Tree Widget을 사용하여 data 출력 (2) | 2021.09.01 |
[PySide6] QMainWindow 사용하기 (0) | 2021.09.01 |
[PySide6] 버튼 사용하기 #2 (0) | 2021.09.01 |
[PySide6] Table Widget을 사용하여 Data 출력하기 (0) | 2021.09.01 |