pyqt创建透明窗体

好吧。。最下面的透明代码是只透明窗体背景,不透明别的,

下面的是整体透明。两个用处不一样。。

 

 

—————————————深思熟虑后的分割线—————————————

 

 

忘了分割线之前写的东西吧。。英文资源找到个办法很合我要求,一句话就搞定。

#coding=utf-8

import sys
from PyQt4 import QtGui

if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    trans = QtGui.QWidget()

    # 就这句就搞定了。。设置成0的话就是全透明,
    # 同时这个窗口也不会跟你交互了,要看不见又要交互,0.01吧。。
    # 我反正是这么干的。。简单粗暴。。。。
    trans.setWindowOpacity(0.5)

    trans.show()
    sys.exit(app.exec_())

另附瞄准器传送门:http://www.cnblogs.com/alanalan/archive/2012/10/03/2710669.html

 

 

—————————————又犯傻熬夜了的分割线—————————————

 

 

前天在宿舍打qq桌球,开玩笑说要做个外挂,于是尝试到了现在。

本来想通过自学一点计算机图形学的东西来帮助分析,最终还是没能抵抗住睡魔。。于是乎归顺了网上的瞄准器方案,由用户指定要打的洞和要打的球,然后给出他要瞄准的位置。

我的做法里用到了一个透明的窗体,看的教程里说qt很碉堡,想学一下,就找了pyqt来玩。折腾了一个多小时,终于小有成就,马克之。

效果图:

一个孤零零悬浮的按钮。。。点击关闭窗体。上代码:

#coding=utf-8

import sys
from PyQt4 import QtGui, QtCore

class Trans(QtGui.QWidget):

    def __init__(self):
        super(Trans, self).__init__()
        self.initUI()
        button = QtGui.QPushButton('Close', self)
        self.connect(button, QtCore.SIGNAL('clicked()'), QtGui.qApp,
                     QtCore.SLOT('quit()'))

    def initUI(self):
        #self.setAttribute(QtCore.Qt.WA_NoSystemBackground, False)
        self.setAttribute(QtCore.Qt.WA_TranslucentBackground, True)
        self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
        
if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    trans = Trans()
    trans.show()
    sys.exit(app.exec_())
posted @ 2012-09-29 23:09  ALANALAN  阅读(4391)  评论(0编辑  收藏  举报