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 ...
随机推荐
- Citrix 服务器虚拟化之九 Xenserver虚拟机的XenMotion
Citrix 服务器虚拟化之九 Xenserver虚拟机的XenMotion XenMotion 是 XenServer 的一项功能,能够将正在运行的虚拟机从一台 XenServer 主机上迁移到另外 ...
- android sqlite数据库封装 实现crud
android常用的数据保存方式有文件.sharepreferences.数据库.网络.contentprovider集中方式. 文件存储方式,经常使用在缓存整个页面数据,比如电子书内容.html数据 ...
- Android应用盈利广告平台的嵌入方法详解
一.如何学习Android android开发(这里不提platform和底层驱动)你需要对Java有个良好的基础,一般我们用Eclipse作为开发工具.对于过多的具体知识详细介绍我这里不展开,我只 ...
- C# 中文转拼音类
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace SU { ...
- Javascript进阶篇——(DOM—节点---获取浏览器窗口可视区域大小+获取网页尺寸)—笔记整理
浏览器窗口可视区域大小获得浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条)的方法:一.对于IE9+.Chrome.Firefox.Opera 以及 Safari: • window.innerH ...
- sql 创建临时表
declare @channelid varchar(100) set @channelid='''WH00026'',''WH00083''' declare @sql varchar(1000) ...
- BZOJ 3277 串 (广义后缀自动机)
3277: 串 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 309 Solved: 118 [Submit][Status][Discuss] De ...
- 3、HelloKhala示例说明
最简单的dome程序只需3行代码 int main() { //设置端口号 InetAddress listenAddr(USER_PORT); //将端口号绑定到Server NodeServer ...
- Lightoj1009 Back to Underworld(带权并查集)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud Back to Underworld Time Limit:4000MS ...
- 在mac中导入hadoop2.6.0源代码至eclipse
一.环境准备 1.安装jdk.maven等 2.下载hadoop源代码,并解压 3.将tools.jar复制到Classes中,具体原因见http://wiki.apache.org/hadoop/H ...