一、引言
在Designer中創建的QDialogButtonBox對應的Button,都有指定的ButtonRole,而我們創建自定義的Button加入到QDialogButtonBox中去時,也需要設定該按鈕的ButtonRole。
二、ButtonRole之我見
ButtonRole的作用在Qt文檔中沒有明確說明,老猿分析,ButtonRole主要有如下三個作用:
1、同一種ButtonRole的角色,界面風格相同,同一種ButtonRole的按鈕在排列時應該依次連續排列;
2、同一種ButtonRole的角色所能發送的信號相同;
3、給自定義Button加入QDialogButtonBox時進行初始化以簡單快捷實現。
三、ButtonRole取值及含義
ButtonRole的類型為枚舉類QDialogButtonBox.ButtonRole,相關取值及含義如下:
四、ButtonRole與StandardButton標准按鈕對應關系
下面為Qt提供的標准按鈕的ButtonRole與StandardButton標准按鈕對應關系,前面為ButtonRole,后面為對應的標准按鈕列表:
1、AcceptRole:Ignore、Ok、Open、Retry、Save、SaveAll、Apply;
2、DestructiveRole:Discard;
3、HelpRole:Help;
4、NoRole:No、NoToAll;
5、RejectRole:Cancel、Close、Abort;
6、ResetRole:Reset、RestoreDefaults;
7、YesRole:Yes、YesToAll。
除了以上ButtonRole之外,ButtonRole中還有一個ActionRole,在標准按鈕中沒有對應的按鈕。