qwindowkit icon indicating copy to clipboard operation
qwindowkit copied to clipboard

使用`setSystemButton()`设置了标题栏按钮后,这些被设置的按钮的鼠标样式会无效

Open esoft-com opened this issue 6 months ago • 1 comments

QPushButton *closeButton = new QPushButton;
closeButton->setCursor(Qt::PointingHandCursor);  /* 将光标设为小手指 */

/* 设置标题栏的关闭按钮,光标样式永远都是箭头,不会变为小手指 */
windowAgent->setSystemButton(QWK::WindowAgentBase::Close, closeButton);

测试环境 Win10 Qt-5.15.2 QWindowKit-1.4.0

esoft-com avatar Jun 18 '25 17:06 esoft-com

没必要别调用setSystemButton,这个函数主要是为了适配snap layout,你没这个需求的话就不要调用。而且对于snap layout而言应该是只需要对最大化按钮调用就足够了。你设置cursor失败应该是setSystemMenu后很多事件被系统接管了导致的

wangwenx190 avatar Jun 22 '25 11:06 wangwenx190

应该有workaround方法,比如不调用setSystemButton,或者手动用SetCursor强行改光标形状。这个跟QWK没什么关系,先关了。如果你觉得还需要继续讨论,就自行重新打开。

wangwenx190 avatar Dec 14 '25 15:12 wangwenx190