簡體   English   中英

在Pyqt5文件菜單中實現可檢查按鈕以類似於單選按鈕

[英]Implementing checkable buttons in Pyqt5 file menu to act similarly to radio buttons

我在PyQt5中創建了一個帶有“文件”選項的文件菜單,該菜單帶有兩個可檢查的按鈕(button1,button2)。 不幸的是,我還沒有找到在文件菜單中實現單選按鈕的方法,因此我認為目前是不可能的。 相反,我想使這兩個可檢查的按鈕像單選按鈕一樣工作-這意味着如果一個選中,則另一個變為未選中狀態。 在給定的時間只能檢查一個。

我嘗試過這種方式(我認為這是最合邏輯和最直接的方法),但是它不起作用:

def fileMenu(self):
    if self.button1.isChecked() == True:
    self.button2.setChecked(False)

如果我先檢查button2,然后再檢查button1,則button2不會取消選中。 還有其他方法可以執行此操作,或者我的代碼中有任何錯誤阻止其運行? 或者...理想情況下,有什么方法可以在文件菜單中實現單選按鈕?

您可以使用QActionGroup完成此操作。 您必須將所有這些按鈕歸為一個動作組。 否則它將無法正常工作。 該文檔可在此處找到

這是使用兩個單選按鈕實現QActionGroup的示例:
w是您的QtMainWindow, ag是定義QActionGroup,而menumenu的名稱。

ag = QtGui.QActionGroup(w, exclusive=True)
a = ag.addAction(action_a)
menu.addAction(a)
b = ag.addAction(action_b)
menu.addAction(b)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM