|
|
| SARibbonSystemButtonBar (QWidget *parent) |
| |
| | SARibbonSystemButtonBar (QWidget *parent, Qt::WindowFlags flags) |
| | 构造函数,强制使用flags,而不是用parent的flags进行构造
|
| |
|
void | setupMinimizeButton (bool on) |
| |
|
void | setupMaximizeButton (bool on) |
| |
|
void | setupCloseButton (bool on) |
| |
|
void | updateWindowFlag () |
| |
| void | updateWindowFlag (Qt::WindowFlags flags) |
| | 此函数仅用于控制最小最大化和关闭按钮的显示
|
| |
| void | setButtonWidthStretch (int close=4, int max=3, int min=3) |
| | 设置按钮的宽度比例,最终按钮宽度将按照此比例进行设置
|
| |
| void | setWindowTitleHeight (int h) |
| | 标题栏高度
|
| |
| int | windowTitleHeight () const |
| | 标题栏高度
|
| |
| void | setWindowButtonWidth (int w) |
| | 系统按钮的宽度
|
| |
| int | windowButtonWidth () const |
| | 系统按钮的宽度
|
| |
| void | setWindowStates (Qt::WindowStates s) |
| | 设置窗口状态(最大最小化按钮状态)
|
| |
| Qt::WindowFlags | windowButtonFlags () const |
| | 此函数返回的flags仅包括 Qt::WindowCloseButtonHint,Qt::WindowMaximizeButtonHint,Qt::WindowMinimizeButtonHint 三个
|
| |
|
QAbstractButton * | minimizeButton () const |
| |
|
QAbstractButton * | maximizeButton () const |
| |
|
QAbstractButton * | closeButton () const |
| |
|
void | setIconSize (const QSize &ic) |
| |
|
QSize | iconSize () const |
| |
|
void | addAction (QAction *a) |
| |
|
void | addMenuAction (QAction *menuAction, QToolButton::ToolButtonPopupMode popupMode=QToolButton::InstantPopup) |
| |
|
QAction * | addMenuAction (QMenu *menu, QToolButton::ToolButtonPopupMode popupMode=QToolButton::InstantPopup) |
| |
|
QAction * | addSeparator () |
| |
|
QAction * | addWidget (QWidget *w) |
| |
|
virtual QSize | sizeHint () const Q_DECL_OVERRIDE |
| |
|
bool | eventFilter (QObject *obj, QEvent *event) override |
| |
窗口的最大最小化按钮
- 注解
- 内部有个SARibbonButtonGroupWidget,其ObjectName = SASystemButtonGroup 如果需要qss,可以进行特化处理:
SARibbonSystemButtonBar的eventfilter捕获mainwindow的事件,通过eventerfilter来处理mainwindow的事件,避免用户错误的继承resizeEvent导致systembar的位置异常
因此,主窗口需要安装事件过滤器
MainWindow::MainWindow(){
installEventFilter(mWindowButtonGroup);
}