Chinaunix首页 | 论坛 | 博客
  • 博客访问: 210346
  • 博文数量: 145
  • 博客积分: 3000
  • 博客等级: 中校
  • 技术积分: 1720
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-14 18:42
文章分类

全部博文(145)

文章存档

2011年(1)

2009年(144)

我的朋友

分类: LINUX

2009-07-22 19:34:07

by tangke <> 2009-06-08

以前一直没有用过Qt的python库,但是有时候发现在龙芯上面编译一个Qt应用程序的时间很长,所有有时候不得不写一些Qt的python程序来跑。
首先我们需要安装这些环境
apt-get install python python-qt4 libqt4-dev
然后我们新建一个脚本文件,代码如下:
import sys
from PyQt4.QtCore import Qt
from PyQt4.QtGui import *
class Overlay(QWidget):
   def __init__(self, parent = None):
       QWidget.__init__(self, parent)
       palette = QPalette(self.palette())
       palette.setColor(palette.Background, Qt.transparent)
       self.setPalette(palette)
       self.setAttribute(Qt.WA_TransparentForMouseEvents)
   def paintEvent(self, event):
       painter = QPainter()
       painter.begin(self)
       painter.setRenderHint(QPainter.Antialiasing)
       painter.setPen(QPen(QColor(255, 0, 0)))
       painter.drawLine(self.width()/8, self.height()/8, 7*self.width()/8, 7*self.height()/8)
       painter.drawLine(self.width()/8, 7*self.height()/8, 7*self.width()/8, self.height()/8)
       painter.end()
class MainWindow(QMainWindow):
   def __init__(self, parent = None):
       QMainWindow.__init__(self, parent)
       widget = QWidget(self)
       self.editor = QTextEdit()
       layout = QGridLayout(widget)
       layout.addWidget(self.editor, 0, 0, 1, 2)
       layout.addWidget(QPushButton("Refresh"), 1, 0)
       layout.addWidget(QPushButton("Cancel"), 1, 1)
       self.setCentralWidget(widget)
       self.overlay = Overlay(self.centralWidget())
   def resizeEvent(self, event):
       self.overlay.resize(event.size())
       event.accept()
if __name__ == "__main__":
   app = QApplication(sys.argv)
   window = MainWindow()
   window.show()
   sys.exit(app.exec_())
阅读(281) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~