MyWidget【简单自制控件】
#coding=gbk
from PyQt4 import QtGui,QtCore
import random
class MyWidget(QtGui.QWidget):
def __init__(self,parent=None):
if parent is None:
self.app=QtGui.QApplication([])
super(MyWidget,self).__init__(parent)
self.setToolTip('双击控件改变线条颜色'.decode('gbk'))
if parent is None:
self.show()
self.app.exec_()
def paintEvent(self,event):
colors=[QtCore.Qt.blue,QtCore.Qt.black,QtCore.Qt.red,
QtCore.Qt.green,QtCore.Qt.darkRed,QtCore.Qt.yellow]
p=QtGui.QPainter(self)
p.setPen(QtGui.QColor(colors[random.randint(0,5)]))
p.drawLine(0,0,self.width(),self.height())
p.save()
def mouseDoubleClickEvent(self,event):
self.repaint()
class TestMyWidget(QtGui.QWidget):
def __init__(self,parent=None):
self.app=QtGui.QApplication([])
super(TestMyWidget,self).__init__(parent)
self.setGeometry(200,300,200,300)
self.setWindowTitle('自制控件试验'.decode('gbk'))
layv=QtGui.QVBoxLayout()
self.setLayout(layv)
gp=QtGui.QGroupBox()
layv.addWidget(gp)
laygp=QtGui.QGridLayout()
gp.setLayout(laygp)
mw=MyWidget(gp)
laygp.addWidget(mw)
btn=QtGui.QPushButton('Ok')
btn.clicked.connect(self.close)
layv.addWidget(btn)
self.show()
self.app.exec_()
if __name__=='__main__':
TestMyWidget()

MyWidget【简单自制控件】的更多相关文章
- CSharpGL(45)自制控件的思路
CSharpGL(45)自制控件的思路 +BIT祝威+悄悄在此留下版了个权的信息说: 本文介绍CSharpGL实现自制控件的方法. 所谓自制控件,就是用纯OpenGL模仿WinForm里的Button ...
- UWP入门(八)--几个简单的控件
原文:UWP入门(八)--几个简单的控件 每天看几个,要不聊几天我就可以看完啦,加油! 看效果 1. CheckBox <TextBlock Grid.Row="0" Tex ...
- ASP.NET自定义控件组件开发 第一章 第一章:从一个简单的控件谈起
第一章:从一个简单的控件谈起 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 ASP.NET自定义控件组件开发 第一章 第三 ...
- Swift学习之函数和简单地控件的创建
今天还是重复昨天做的事情--敲代码,但唯一的不同就是所学的知识不同了,我们又进一步往深得层次学习了,感觉越来越有意思了,虽然临近结束了看着大家积极性越来越低了,但是我知道我不能这样,我要比别人付出的 ...
- 【AngularJS学习笔记】封装一些简单的控件(封装成Html标签)
bootstrap有强大的指令系统,可以自定义一些属性,基本知识请移步:http://angularjs.cn/A00r http://www.cnblogs.com/lvdabao/p/33916 ...
- Win32编程点滴3 - 简单ActiveX控件的使用
虽然这里一片的.net气氛,到处充斥着像MVC.WPF.WorkFlow.LINQ等各种niubility的术语.但我们使用的Windows还是由COM技术主宰着:我们在选择日常使用的软件时,也会避免 ...
- Android 简单实现控件的拖动
控件的拖动,使用到一个监听事件 setOnTouchListener:XML代码: <?xml version="1.0" encoding="utf-8" ...
- 使用 xlue 实现简单 listbox 控件
基于 XLUE 实现的 listbox 控件 1. 提供增删查接口,将 obj 作为子控件添加到列表: 2. 提供 Attach/Detach 方法,可以将子控件的事件转发出来: 3. 支持滚动条: ...
- 简单label控件 自制
using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using ...
随机推荐
- javascript 打开新窗口(window.open)
打开新窗口(window.open) open() 方法可以查找一个已经存在或者新建的浏览器窗口. 语法: window.open([URL], [窗口名称], [参数字符串]) 参数说明: URL: ...
- Web API零碎知识
查看EF生成的sql的方法 1.通过在context中设置可以追踪EF[版本必须是6.0或以上]中生成的sql public BookServiceContext() : base("nam ...
- ASP.NET优化性能方法之一禁用调试模式(转)
若要设置 ASP.NET 应用程序的调试模式,必须编辑应用程序的 Web.config 配置文件. 通常,ASP.NET 应用程序的 Web.config 文件与应用程序位于相同的 URL 位置上. ...
- S2SH简单介绍和理解
struts2简介 Struts2是由WebWork基础上发展起来的,与struts1比较,选用struts2的理由是:①Struts1要求Action类继承一个抽象基类,而Struts2Action ...
- C#属性和readonly类型
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- Codeforces round #353div2 C
题目来源:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=117863#problem/C 题目大意:给你n个数字,代表这个人在n个银行里面 ...
- CODEVS 3139 栈练习3
3139 栈练习3 时间限制: 2 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 比起第一题,本题加了另外一个操作,访问栈顶元素(编号3,保 ...
- java生成UUID通用唯一识别码 (Universally Unique Identifier)
转自:http://blog.csdn.net/carefree31441/article/details/3998553 UUID含义是通用唯一识别码 (Universally Unique Ide ...
- jdk,j2ee,j2se,j2me的概念区别
jdk,j2ee,j2se,j2me的概念区别1.JDK是Java development toolkit,相当于是Java的库函数,是编译,运行java程序的工具包.J2EE是Java 2 ente ...
- 使用 JUnit 进行单元测试 - 教程
tanyuanji@126.com 版本历史 JUnit 该教程主要讲解 JUnit 4.x 版本的使用,以及如何在Eclipse IDE 中如何使用JUnit 目录 tanyuanji@126. ...