Closed sunsolve closed 1 year ago
macOS和Ubuntu都对menubar有特殊的处理,目前SARibbon是通过替换原来menubar的方式实现的,对macOS等这种有特殊的原生menubar暂不支持。这两个系统需要单独开发
在windows 10, qt 5.15.2下,UseDesginerMainWindowExample示例,也会出现该现象
将构造函数中的SARibbonMainWindow(parent),修改为SARibbonMainWindow(parent, false), 并在ui->setupUi(this);之后增加setRibbonTheme(ribbonTheme()); 可以解决该问题
MainWindow::MainWindow(QWidget *parent)
: SARibbonMainWindow(parent**, false**)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
**setRibbonTheme(ribbonTheme());**
}
具体原因是由于SAWindowButtonGroup在SARibbonBar之前创建导致的,但是不知道为什么会导致这种现象的出现...
加一句ribbon->setNativeMenuBar(false)就可以了,亲测可行。不过tab部分的字体太靠下了,不知道怎么居中。
SARibbonBar* ribbon = ribbonBar();
ribbon->setNativeMenuBar(false);
//通过setContentsMargins设置ribbon四周的间距
ribbon->setContentsMargins(5, 0, 5, 0);
//设置applicationButton
PRINT_COST("setCentralWidget & setWindowTitle");
ribbon->applicationButton()->setText(("File"));
ribbon->setRibbonStyle(SARibbonBar::WpsLiteStyle);
环境:silicon M1; macos 12.4, qt 6.2.4 ; 编译成功,但是显示不对,ribbon完全没有显示。
窗口的最大化、最小化、和关闭按钮也没有,看起来好像是 framelesswindow 有问题。