from pyqt5.qt import *
import sys
class window(qwidget):
def __init__(self,*args,**kwargs):
super().__init__(*args,**kwargs)
self.setwindowflags(qt.framelesswindowhint)#取消窗體標題欄
self.setwindowopacity(0.9)#設定窗體透明度
#2.2設定控制項
self.setwindowtitle("頂層視窗操作-案例")
self.resize(500,500)
self.btn_w=80
self.btn_h=40
self.top_margin=0
self.setup_ui()
def setup_ui(self):
close_btn=qpushbutton(self)
self.close_btn=close_btn
close_btn.settext("關閉")
close_btn.resize(self.btn_w,self.btn_h)
max_btn=qpushbutton(self)
self.max_btn=max_btn
max_btn.settext("最大化")
max_btn.resize(self.btn_w,self.btn_h)
min_but=qpushbutton(self)
self.min_but=min_but
min_but.settext("最小化")
min_but.resize(self.btn_w,self.btn_h)
def max_mormal():
if self.ismaximized():
self.shownormal()
max_btn.settext("最大化")
else:
self.showmaximized()
max_btn.settext("恢復")
#按鈕功能
close_btn.pressed.connect(self.close)
max_btn.pressed.connect(max_mormal)
min_but.pressed.connect(self.showminimized)
def resizeevent(self, qresizeevent):
close_btn_x=self.width()-self.btn_w
close_btn_y=self.top_margin
self.close_btn.move(close_btn_x,close_btn_y)
max_btn_x=close_btn_x-self.btn_w
max_but_y=self.top_margin
self.max_btn.move(max_btn_x,max_but_y)
min_but_x=max_btn_x-self.btn_w
min_but_y=self.top_margin
self.min_but.move(min_but_x,min_but_y)
def mousepressevent(self,evt):#滑鼠執行
if evt.button()==qt.leftbutton:#判斷是否為左鍵執行
self.flag=true
self.mouse_x=evt.globalx()
self.mouse_y=evt.globaly()
self.origin_x=self.x()
self.origin_y=self.y()
def mousemoveevent(self, evt):#滑鼠移動
if self.flag==true:
move_x=evt.globalx()-self.mouse_x
move_y=evt.globaly()-self.mouse_y
dest_x=self.origin_x+move_x
dest_y=self.origin_y+move_y
self.move(dest_x,dest_y)
def mousereleaseevent(self, qmouseevent):#滑鼠釋放
self.flag=false
if __name__=="__main__":
win=window()
win.show()
PyQt5不規則窗體
直接這麼寫有坑 mask img qimage mask filename self.setmask qbitmap mask img 核心在於self.setmask self.pix.mask 打個廣告 程式設計代做,有需要的可以聯絡,qq1692303843 全部 如下 import sys ...
pyqt5按鈕事件開啟檔案
self.pushbutton.clicked.connect self.btn1 click 設定繫結事件def btn1 click self filename,qfiledialog.getopenfilename qwidget open r e images1 開啟檔案或者如下 getop...
Pyqt5保持窗體在前台
關鍵 import pyqt5.qtcore mywin.setwindowflags pyqt5.qtcore.qt.windowminimizebuttonhint 使能最小化按鈕 pyqt5.qtcore.qt.windowclosebuttonhint 使能關閉按鈕 pyqt5.qtcore...