Skip to content
This repository was archived by the owner on May 16, 2025. It is now read-only.

Commit 17ae44a

Browse files
committed
update LingmoWindow
1 parent 89bcdfb commit 17ae44a

File tree

5 files changed

+18
-14
lines changed

5 files changed

+18
-14
lines changed

LingmoPyUI/Image/icon.png

23.7 KB
Loading

LingmoPyUI/LingmoApp.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@
66
import os
77

88
from . import LingmoIconDef
9-
10-
windowIcon=''
9+
windowIcon='./LingmoPyUI/Image/icon.png'
1110
locale=QLocale()
1211
launcher=QObject()
1312
userSystemAppBar=False

LingmoPyUI/LingmoFrameless.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def componentComplete(self):
3939
self.current=self.parent().winId()
4040
if LingmoTools.isLinux():
4141
self.parent().setWindowFlags(Qt.WindowType.CustomizeWindowHint|Qt.WindowType.FramelessWindowHint)
42-
self.parent().setWindowFlags(Qt.WindowType.FramelessWindowHint)
42+
self.parent().setWindowFlag(Qt.WindowType.FramelessWindowHint,True)
4343
self.parent().addStyleSheet('border-width',1)
4444
self.parent().addStyleSheet('border-style','solid')
4545
if self.maximizeButton:
@@ -81,9 +81,10 @@ def setHitTestVisible(self,val):
8181
def setWindowTopMost(self,topmost):
8282
if self.parent().windowHandle():
8383
if topmost:
84-
self.parent().windowHandle().setFlags(Qt.WindowType.FramelessWindowHint|Qt.WindowType.WindowStaysOnTopHint)
84+
self.parent().windowHandle().setFlag(Qt.WindowType.WindowStaysOnTopHint,True)
8585
else:
86-
self.parent().windowHandle().setFlags(Qt.WindowType.FramelessWindowHint)
86+
self.parent().windowHandle().setFlag(Qt.WindowType.WindowStaysOnTopHint,False)
87+
self.parent().windowHandle().setIcon(QPixmap(self.parent().windowIconPath))
8788
def onMousePress(self):
8889
if self.edges!=0:
8990
self.updateCursor(self.edges)

LingmoPyUI/__init__.py

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1735,34 +1735,39 @@ def __init__(self,parent=None,show=True,title='Lingmo Window',windowIcon=LingmoA
17351735
stayTop=False,showDark=False,showClose=True,showMinimize=True,showMaximize=True,showStayTop=False,
17361736
autoMaximize=True,autoCenter=True,autoDestroy=True,useSystemAppBar=LingmoApp.userSystemAppBar,__margins=0):
17371737
super().__init__(parent,show=False)
1738+
self.setAttribute(Qt.WidgetAttribute.WA_TranslucentBackground)
17381739
self.launchMode=launchMode
17391740
self.argument=argument
17401741
self.fixSize=fixSize
17411742
self.fitsAppBarWindows=fitsAppBarWindows
17421743
self.tintOpacity=tintOpacity
17431744
self.blurRadius=blurRadius
1745+
self.windowIconPath=windowIcon
17441746
self.setWindowTitle(title)
17451747
self.setMouseTracking(True)
1746-
self.setWindowIcon(QIcon(windowIcon))
1747-
if self.windowHandle():
1748-
self.windowHandle().setFlags(Qt.WindowType.WindowOverridesSystemGestures)
17491748
self.stayTop=stayTop
1750-
self.appbar=LingmoAppBar(self,title=self.windowTitle(),icon=self.windowIcon())
1751-
self.contentItem=LingmoFrame(self)
1749+
self.background=LingmoFrame(self)
1750+
self.appbar=LingmoAppBar(self.background,title=self.windowTitle(),icon=self.windowIcon())
1751+
self.contentItem=LingmoFrame(self.background)
17521752
self.frameless=LingmoFrameless(self,self.appbar,self.appbar.btnMaximize,self.appbar.btnMinimize,self.appbar.btnClose,show)
17531753
self.moved.connect(self.frameless.onMouseMove)
17541754
self.pressed.connect(self.frameless.onMousePress)
17551755
self.released.connect(self.frameless.onMouseRelease)
1756-
self.setStayTop(stayTop)
1756+
#self.setStayTop(stayTop)
17571757
self.show()
1758-
self.appbar.addStyleSheet('background-color','transparent')
17591758
self.contentItem.addStyleSheet('border-radius','4px 4px 4px 4px')
1760-
self.addStyleSheet('border-radius',LingmoTheme.instance._roundWindowRadius)
1759+
self.background.addStyleSheet('background-color',self.palette().color(QPalette.ColorRole.Window))
1760+
self.background.addStyleSheet('border-radius',LingmoTheme.instance._roundWindowRadius)
1761+
self.setWindowIcon(QPixmap(self.windowIconPath))
17611762
def updateEvent(self):
17621763
try:
1764+
self.background.resize(self.size())
17631765
self.contentItem.setGeometry(0,self.appbar.height(),self.width(),self.height()-self.appbar.height())
17641766
except:
17651767
pass
17661768
def setStayTop(self,val):
17671769
self.stayTop=val
17681770
self.frameless.setWindowTopMost(val)
1771+
def setWindowIconPath(self,val):
1772+
self.windowIconPath=val
1773+
self.setWindowIcon(QIcon(val))

example.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ def __init__(self):
99
def setup_ui(self):
1010
self.frame.resize(500, 1000)
1111
self.frame.setWindowTitle('Example')
12-
#self.frame.addStyleSheet("background-color", "green")
1312

1413
self.window.resize(500, 500)
1514

0 commit comments

Comments
 (0)