2 回答

TA貢獻1818條經(jīng)驗 獲得超3個贊
您必須在出現(xiàn)后立即設置焦點,您可以使用 aQTimer::singleShot()或QMetaObject::invokeMethod():
1. QTimer::singleShot()
...
self.push_button = QtGui.QPushButton("go", self)
self.grid_layout.addWidget(self.create_controls_group(), 0, 1)
self.push_button.setDefault(True)
QtCore.QTimer.singleShot(0, self.push_button.setFocus)
2. QMetaObject::invokeMethod()
...
self.push_button = QtGui.QPushButton("go", self)
self.grid_layout.addWidget(self.create_controls_group(), 0, 1)
self.push_button.setDefault(True)
QtCore.QMetaObject.invokeMethod(self.push_button,
"setFocus",
QtCore.Qt.QueuedConnection)

TA貢獻1789條經(jīng)驗 獲得超10個贊
您可以嘗試設置按鈕Default屬性:
self.push_button.setDefault(True)
self.push_button.setFocus()
添加回答
舉報