PyQt5 python 窗體按鈕操作

2021-09-23 22:46:01 字數 2263 閱讀 6468

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...