zoukankan      html  css  js  c++  java
  • PYQT设计无边框窗体

    #UI.py,通过UI设计师制作后直接转换为UI.py脚本

    # -*- coding: utf-8 -*-
    from PyQt4 import QtCore, QtGui

    try:
        _fromUtf8 = QtCore.QString.fromUtf8
    except AttributeError:
        _fromUtf8 = lambda s: s

    class Ui_Form(object):
        def setupUi(self, Form):
            Form.setObjectName(_fromUtf8("Form"))
            Form.resize(400, 300)

            self.retranslateUi(Form)
            QtCore.QMetaObject.connectSlotsByName(Form)

        def retranslateUi(self, Form):
            Form.setWindowTitle(QtGui.QApplication.translate("Form", "Form", None, QtGui.QApplication.UnicodeUTF8))

    #Main.py,可视化UI.py

    # -*- coding: utf-8 -*-

    from PyQt4 import QtCore, QtGui, Qt
    from UI import *

    class MainWindow(QtGui.QMainWindow): 

        def __init__(self,parent=None):

            QtGui.QWidget.__init__(self,parent)
            self.ui=Ui_Form()
            self.ui.setupUi(self)
            self.setWindowFlags(Qt.Qt.FramelessWindowHint)
            #窗口无边框化,写于QMainwindow所在子类初始化函数中

            #或者self.setWindowFlags(Qt.Qt.SplashScreen)

            self.setAttribute(QtCore.Qt.WA_TranslucentBackground, True)

            #窗口背景透明

        def mousePressEvent(self,event):

           #定义鼠标点击事件
           if event.button() == QtCore.Qt.LeftButton:
               self.dragPosition = event.globalPos() - self.frameGeometry().topLeft()
               event.accept()

        def mouseMoveEvent(self,event):

           #定义鼠标移动事件
            if event.buttons() ==QtCore.Qt.LeftButton:
                self.move(event.globalPos() - self.dragPosition)
                event.accept()

        def resizeEvent(self,event):

           #重绘窗体背景
            image=QtGui.QImage()
            image.load("images/background.png")
            palette=QtGui.QPalette()
            palette.setBrush(QtGui.QPalette.Window,QtGui.QBrush(image.scaled(event.size(),Qt.Qt.KeepAspectRatioByExpanding,Qt.Qt.SmoothTransformation)))
            self.setPalette(palette)

    if __name__ == "__main__":

        import sys

        app = QtGui.QApplication(sys.argv)
        myapp=MainWindow()
        myapp.show()
        app.exec_()

  • 相关阅读:
    二、Python基础练习
    代码测试服同步到生产服务器
    支付宝网站支付 异步验签成功 同步验签失败
    最近机房让整改的漏洞 设置cookie httponly X-Frame-Options头未设置
    连连支付,或微信或支付宝支付,商品名称最后一个字乱码,php解决
    ci 框架新手使用
    php制作公司五章,圆形印章和椭圆形印章,正方形印章,圆角正方形印章,圆角框
    Libreoffice php使用命令行office转pdf,pdf转图片
    后台返回数据回显,使用js控制默认选中复选框和下拉框
    Nginx日志按日期切割详解(按天切割)
  • 原文地址:https://www.cnblogs.com/doudongchun/p/3694794.html
Copyright © 2011-2022 走看看