第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用組框設置應用程序中按鈕的焦點

使用組框設置應用程序中按鈕的焦點

BIG陽 2021-06-29 09:10:35
假設我有一個包含多個 QGroupBox 的應用程序,如下所示:import sysfrom PyQt4 import QtGui, QtCoreclass Main(QtGui.QWidget):    # pylint: disable=too-many-statements    def __init__(self, main):        super(Main, self).__init__()        self.grid_layout = QtGui.QGridLayout()        self.line_edit = QtGui.QLineEdit()        self.grid_layout.addWidget(self.create_settings_group(), 0, 0, 2, 1)        self.push_button = QtGui.QPushButton("go", self)        self.grid_layout.addWidget(self.create_controls_group(), 0, 1)        self.setLayout(self.grid_layout)        main.setCentralWidget(self)    def create_settings_group(self):        group_box_settings = QtGui.QGroupBox(self)        group_box_settings.setTitle("group1")        grid = QtGui.QGridLayout()        grid.addWidget(self.line_edit, 0, 0)        group_box_settings.setLayout(grid)        return group_box_settings    def create_controls_group(self):        group_box_settings = QtGui.QGroupBox(self)        group_box_settings.setTitle("group2")        grid = QtGui.QGridLayout()        grid.addWidget(self.push_button, 0, 0, 1, 2)        group_box_settings.setLayout(grid)        return group_box_settingsclass GUI(QtGui.QMainWindow):    def __init__(self):        super(GUI, self).__init__()        self.ui = Main(self)        self.show()app = QtGui.QApplication(sys.argv)ex = GUI()app.exec_()當我打開我的簡單應用程序時,我看到光標在行編輯中閃爍。但我只想突出顯示另一個組框中的按鈕并輸入按下連接到它?我怎么做?使用 self.push_button.setFocus() 不會做任何事情。
查看完整描述

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)


查看完整回答
反對 回復 2021-07-21
?
至尊寶的傳說

TA貢獻1789條經(jīng)驗 獲得超10個贊

您可以嘗試設置按鈕Default屬性:


self.push_button.setDefault(True)

self.push_button.setFocus()


查看完整回答
反對 回復 2021-07-21
  • 2 回答
  • 0 關注
  • 197 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號