关于pyqt5 x11完美无边框移动
Tofloor
poster avatar
白菜
deepin
2018-08-26 18:25
Author
https://bbs.deepin.org/user/25870
看了Qt下的无边框移动,没什么问题
https://blog.rekols.com/2018/04/11/linux-qt-move-window/
如果在pyqt5下如何实现呢
貌似python3-xlib和c语言的xlib定义不太一样,没看懂怎么用的
有没有关于pyqt5调用Python3-xlib实现无边框移动的Demo
这个谷歌、百度、github都搜完了都找不到,关于python3-xlib的资料太少了
Reply Favorite View the author
All Replies
1 / 2
To page
avatar
rekols
deepin
2018-08-26 19:12
#1
其实主要还是那个 x11Move() 函数,你可以参考一下python-xlib:https://github.com/python-xlib/python-xlib
Reply View the author
avatar
白菜
deepin
2018-08-26 20:13
#2
https://bbs.deepin.org/post/167891
其实主要还是那个 x11Move() 函数,你可以参考一下python-xlib:https://github.com/python-xlib/python-xl ...

这个我看过了,没太懂
Reply View the author
avatar
rekols
deepin
2018-08-26 20:50
#3
https://bbs.deepin.org/post/167891
这个我看过了,没太懂

我不会python,逃  (
Reply View the author
avatar
cgp
deepin
2018-08-26 23:19
#4
这个其实很简单,设置无标题栏后,定义三个鼠标事件就行了(mousePressEvent,mouseMoveEvent, mouseReleaseEvent)详细可看:https://blog.csdn.net/FanMLei/article/details/79433229
Reply View the author
avatar
许自强
deepin
2018-08-27 16:54
#5
https://bbs.deepin.org/post/167891
这个其实很简单,设置无标题栏后,定义三个鼠标事件就行了(mousePressEvent,mouseMoveEvent, mouseRelease ...

这样的话需要自绘最大化和最小化之类的按钮
Reply View the author
avatar
cgp
deepin
2018-08-27 17:37
#6
hyikesong 发表于 2018-8-27 08:54
这样的话需要自绘最大化和最小化之类的按钮

不是已经无边框了吗?难道无边框还有最大化最小化按钮?可能是我们理解的无边框不是同一个概念吧,尴尬
Reply View the author
avatar
许自强
deepin
2018-08-27 20:57
#7
https://bbs.deepin.org/post/167891
不是已经无边框了吗?难道无边框还有最大化最小化按钮?可能是我们理解的无边框不是同一个概念吧,尴尬 ...

尴尬,我理解错了。我以为这种
Reply View the author
avatar
许自强
deepin
2018-08-28 17:06
#8
需要用到x11吗?5楼的方法可以的
Reply View the author
avatar
白菜
deepin
2018-08-29 03:41
#9
https://bbs.deepin.org/post/167891
这个其实很简单,设置无标题栏后,定义三个鼠标事件就行了(mousePressEvent,mouseMoveEvent, mouseRelease ...

这我知道啊,移动这些啥的都没问题,
主要是不能移出屏幕外,
这是Qt在linux下的BUG,Qt自身应该是没办法实现的。必须得借助xlib,
Reply View the author
avatar
白菜
deepin
2018-08-29 03:42
#10
https://bbs.deepin.org/post/167891
需要用到x11吗?5楼的方法可以的

移动啥的都没问题,主要是不能移出屏幕边框。
你用Qt在Linux下写个无边框程序就知道了
Reply View the author
avatar
cgp
deepin
2018-08-29 05:46
#11
https://bbs.deepin.org/post/167891
这我知道啊,移动这些啥的都没问题,
主要是不能移出屏幕外,
这是Qt在linux下的BUG,Qt自身应该是没办法 ...

今天试了一下,还真不行。记得之前系统没升级是可以的。
Reply View the author
avatar
白菜
deepin
2018-08-30 01:58
#12
https://bbs.deepin.org/post/167891
今天试了一下,还真不行。记得之前系统没升级是可以的。

并不是这个系统的原因,在所以Linux桌面版下面都是这样的
Reply View the author
avatar
cgp
deepin
2018-08-30 06:45
#13
https://bbs.deepin.org/post/167891
并不是这个系统的原因,在所以Linux桌面版下面都是这样的

虽然有点搞怪,但也不影响使用。
Reply View the author
avatar
许自强
deepin
2018-08-30 17:26
#14
https://bbs.deepin.org/post/167891
移动啥的都没问题,主要是不能移出屏幕边框。
你用Qt在Linux下写个无边框程序就知道了 ...

是窗口全部移到屏幕外还是部分移到屏幕外哦
Reply View the author
avatar
白菜
deepin
2018-08-31 04:21
#15
https://bbs.deepin.org/post/167891
虽然有点搞怪,但也不影响使用。

是的,总感觉有点儿不爽
Reply View the author
avatar
152******33
deepin
2022-07-27 05:00
#16
白菜
https://bbs.deepin.org/post/167891
虽然有点搞怪,但也不影响使用。

是的,总感觉有点儿不爽

解决了吗?我也遇到这问题😢

Reply View the author
avatar
白菜
deepin
2022-10-03 19:03
#17
152******33

解决了吗?我也遇到这问题😢

没有呢,解决了知会一声

有个曲线救国的法子就是python调用C++已经写好的无边框框架,不过我还没试过

Reply View the author
avatar
sudo_free
deepin
2022-10-03 22:11
#18

没看明白pyqt哪里不行,我一直用的自绘制窗口和鼠标拖动事件没啥问题啊

https://github.com/iamhyc/mind-flash/blob/master/mf_gui.py#L209

Reply View the author
avatar
白菜
deepin
2022-10-03 22:50
#19
sudo_free

没看明白pyqt哪里不行,我一直用的自绘制窗口和鼠标拖动事件没啥问题啊

https://github.com/iamhyc/mind-flash/blob/master/mf_gui.py#L209

自绘窗口没问题,是自绘的无边框窗口不能移出屏幕。好久没用Linux了,不知道这个问题解决了没

Reply View the author
avatar
sudo_free
deepin
2022-10-03 22:58
#20
白菜

自绘窗口没问题,是自绘的无边框窗口不能移出屏幕。好久没用Linux了,不知道这个问题解决了没

就像几年前楼上说的一样,部分移出去没问题,跨显示器移动也没问题;我在windows和ubuntu上的pyqt5都没遇到问题

Reply View the author
1 / 2
To page