Как заставить одно окно блокировать другое без использования .setModal(True)Python

Программы на Python
Anonymous
Как заставить одно окно блокировать другое без использования .setModal(True)

Сообщение Anonymous »

Если в главном окне щелкнуть правой кнопкой мыши, появится QInputDialog. Я хочу, чтобы QInputDialog блокировал главное окно, пока оно открыто. Как этого добиться?

Изображение


from PyQt4 import QtCore, QtGui
app = QtGui.QApplication([])
class AppWindow(QtGui.QMainWindow):
def __init__(self):
super(AppWindow, self).__init__()
mainWidget=QtGui.QWidget()
self.setCentralWidget(mainWidget)
mainLayout = QtGui.QVBoxLayout()
mainWidget.setLayout(mainLayout)
frame=QtGui.QFrame()
frame.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
frame.connect(frame, QtCore.SIGNAL("customContextMenuRequested(QPoint)" ), self.up)
mainLayout.addWidget(frame)

self.modal=QtGui.QInputDialog()

def up(self, QPos):
self.modal.move(QtGui.QCursor.pos())
self.modal.show()
self.modal.raise_()

window=AppWindow()
window.show()
sys.exit(app.exec_())


Подробнее здесь: https://stackoverflow.com/questions/250 ... tmodaltrue

Вернуться в «Python»