|
| 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);
}