#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【简单自制控件】的更多相关文章

  1. CSharpGL(45)自制控件的思路

    CSharpGL(45)自制控件的思路 +BIT祝威+悄悄在此留下版了个权的信息说: 本文介绍CSharpGL实现自制控件的方法. 所谓自制控件,就是用纯OpenGL模仿WinForm里的Button ...

  2. UWP入门(八)--几个简单的控件

    原文:UWP入门(八)--几个简单的控件 每天看几个,要不聊几天我就可以看完啦,加油! 看效果 1. CheckBox <TextBlock Grid.Row="0" Tex ...

  3. ASP.NET自定义控件组件开发 第一章 第一章:从一个简单的控件谈起

    第一章:从一个简单的控件谈起 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 ASP.NET自定义控件组件开发 第一章 第三 ...

  4. Swift学习之函数和简单地控件的创建

     今天还是重复昨天做的事情--敲代码,但唯一的不同就是所学的知识不同了,我们又进一步往深得层次学习了,感觉越来越有意思了,虽然临近结束了看着大家积极性越来越低了,但是我知道我不能这样,我要比别人付出的 ...

  5. 【AngularJS学习笔记】封装一些简单的控件(封装成Html标签)

    bootstrap有强大的指令系统,可以自定义一些属性,基本知识请移步:http://angularjs.cn/A00r  http://www.cnblogs.com/lvdabao/p/33916 ...

  6. Win32编程点滴3 - 简单ActiveX控件的使用

    虽然这里一片的.net气氛,到处充斥着像MVC.WPF.WorkFlow.LINQ等各种niubility的术语.但我们使用的Windows还是由COM技术主宰着:我们在选择日常使用的软件时,也会避免 ...

  7. Android 简单实现控件的拖动

    控件的拖动,使用到一个监听事件 setOnTouchListener:XML代码: <?xml version="1.0" encoding="utf-8" ...

  8. 使用 xlue 实现简单 listbox 控件

    基于 XLUE 实现的 listbox 控件 1. 提供增删查接口,将 obj 作为子控件添加到列表: 2. 提供 Attach/Detach 方法,可以将子控件的事件转发出来: 3. 支持滚动条: ...

  9. 简单label控件 自制

    using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using ...

随机推荐

  1. maven plugin在tomcat 热部署

    前言: 此处的方法适用于tomcat6 和 tomcat7,对于最新的tomcat8还没有进行过測试,有兴趣的同学能够自己測一下. 总共分为五步:         1.在tomcat中配置用户权限,即 ...

  2. HDOJ 1316 How Many Fibs?

    JAVA大数.... How Many Fibs? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Jav ...

  3. [Redux] Generating Containers with connect() from React Redux (VisibleTodoList)

    Learn how to use the that comes with React Redux instead of the hand-rolled implementation from the ...

  4. DEV PivotGridControl 全选行或列

    foreach (string item in fieldProductName.FilterValues.Values) { pivotGridControl.Cells.SetSelectionB ...

  5. Winform改变Textbox边框颜色(转)

    namespace MyTextBoxOne { //使用时必须把文本框的BorderStyle为FixedSingle才能使用 //一些控件(如TextBox.Button等)是由系统进程绘制,重载 ...

  6. 软件工程师所需掌握的“终极技术”是什么?

    软件工程师所需掌握的"终极技术"是什么? http://yunli.blog.51cto.com/831344/1019990 最近,我在微博上看到@程序员邹欣老师发的一条微博 - ...

  7. 如何制作windows服务安装包

    以下转自:http://blog.csdn.net/chainan1988/article/details/7087006 Window服务的安装有两个方式: 一.命令安装          通过命令 ...

  8. hdu1520 第一道树形DP,激动哇咔咔!

    A - 树形dp Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Sta ...

  9. Android 多渠道打包,上百渠道,秒打签名

    具体工具参见:https://github.com/hpu-spring87/MultiSignTools

  10. jquery-1.10.2 获取checkbox的checked属性总是undefined

    项目中用的jquery-1.10.2 需要检测一个checkbox的选中状态,想当然的用 .attr("checked") ,结果发现,无论是否选中,这个值都是 undefined ...