stdware / qwindowkit

Cross-platform frameless window framework for Qt. Support Windows, macOS, Linux.
Apache License 2.0
490 stars 78 forks source link

在Mac上, 修改标题栏高度以及三个系统按钮的位置 #54

Closed zhoujun637 closed 6 months ago

zhoujun637 commented 6 months ago

1、修改标题栏高度: 在创建标题栏时,设置固定高度即可 windowBar->setFixedHeight(40); 2、修改三个系统按钮位置:

windowAgent->setSystemButtonAreaCallback([](const QSize &size) {
        static constexpr const int width = 75;
        return QRect(QPoint(size.width() - width, 0), QSize(width, size.height())); 
    });

针对这段代码,我改为return QRect(QPoint(size.width() - width, 10), QSize(width, size.height())); y向偏移了,但是无效。 是的还有其他需要设置?

zhoujun637 commented 6 months ago

解决了 不能设置回调函数,要注释掉这段

windowAgent->setSystemButtonAreaCallback([](const QSize &size) {
        static constexpr const int width = 75;
        return QRect(QPoint(size.width() - width, 0), QSize(width, size.height())); 
    });

只需要设置系统按钮的区域

QWidget* pWidget = new QWidget(windowBar);
windowAgent->setSystemButtonArea(pWidget);
pWidget->setFixedSize(75, 40);