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_())

你可能感兴趣的:(qt)