1

我有一个继承 QLineEdit 的类 MyLineEdit。我想问一下是否可以让我的班级表现得像一个模态窗口。例如,当 MyLineEdit 对象获得焦点时,它应该等待输入,同时阻止对同一应用程序中其他可见窗口和小部件的输入。但是Qt文档说

此属性仅对 windows 有意义

而且我没有任何其他想法如何实现这一点?

4

1 回答 1

1

把你QLineEdit放在一个对话框中,并以模态方式显示它。这是 PyQt 中的一个示例

class Window(QtGui.QWidget):

    def __init__(self):
        QtGui.QWidget.__init__(self)
        self.resize(600,400)
        b = QtGui.QPushButton("Click", self)
        b.clicked.connect(self.showTextInput)

    def showTextInput(self):
        dialog = QtGui.QDialog(self)
        dialog.resize(200,30)
        layout = QtGui.QVBoxLayout(dialog)
        line = QtGui.QLineEdit(self)
        layout.addWidget(line)
        dialog.exec_()
于 2012-12-15T22:19:13.293 回答