pyqt下选择(未学习)

# -*- coding: utf-8 -*-

__author__ = ‘Administrator‘

import sys

from PyQt4 import QtGui, QtCore

rows = "ABCD"

choices = [‘apple‘, ‘orange‘, ‘banana‘]

class Delegate(QtGui.QItemDelegate):

def __init__(self, owner, items):

super(Delegate, self).__init__(owner)

self.items = items

def createEditor(self, parent, option, index):

self.editor = QtGui.QComboBox(parent)

self.editor.addItems(self.items)

return self.editor

def paint(self, painter, option, index):

value = index.data(QtCore.Qt.DisplayRole).toString()

style = QtGui.QApplication.style()

opt = QtGui.QStyleOptionComboBox()

opt.text = str(value)

opt.rect = option.rect

style.drawComplexControl(QtGui.QStyle.CC_ComboBox, opt, painter)

QtGui.QItemDelegate.paint(self, painter, option, index)

def setEditorData(self, editor, index):

value = index.data(QtCore.Qt.DisplayRole).toString()

num = self.items.index(value)

editor.setCurrentIndex(num)

def setModelData(self, editor, model, index):

value = editor.currentText()

model.setData(index, QtCore.Qt.DisplayRole, QtCore.QVariant(value))

def updateEditorGeometry(self, editor, option, index):

editor.setGeometry(option.rect)

class Model(QtCore.QAbstractTableModel):

def __init__(self):

super(Model, self).__init__()

self.table = [[row, choices[0]] for row in rows]

def rowCount(self, index=QtCore.QModelIndex()):

return len(self.table)

def columnCount(self, index=QtCore.QModelIndex()):

return 2

def flags(self, index):

return QtCore.Qt.ItemIsEditable | QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable

def data(self, index, role):

if role == QtCore.Qt.DisplayRole:

return self.table[index.row()][index.column()]

def setData(self, index, role, value):

if role == QtCore.Qt.DisplayRole:

self.table[index.row()][index.column()] = value

class Main(QtGui.QMainWindow):

def __init__(self, parent=None):

super(Main, self).__init__(parent)

self.model = Model()

self.table = QtGui.QTableView()

self.table.setModel(self.model)

self.table.setItemDelegateForColumn(1, Delegate(self, ["apple", "orange", "banana"]))

self.setCentralWidget(self.table)

self.setWindowTitle(‘Delegate Test‘)

self.show()

if __name__ == ‘__main__‘:

app = QtGui.QApplication(sys.argv)

main = Main()

app.exec_()

如图:

时间: 2024-07-29 22:03:35

pyqt下选择(未学习)的相关文章

大数据下的“商业学习实验” 能否改变超市业?

浓缩观点 消费动力不足.利润下滑.电商侵蚀,大型超市的突围之路在哪里?掌握以大数据分析为基础的“商业实验学习”的5个方向,将给零售企业带来数以亿计的经济效益. 零售企业可能每天都会产生令人兴奋但有些风险的创意,这些点子要不要做?效果又会如何? 大数据下的“商业学习实验” 台湾的全家便利店,在台湾拥有2000多家门店.它们在调查中发现,消费者对现煮咖啡有显著需求.对全家而言,是贸然在所有门店都提供现煮咖啡,还是将这些咖啡机将优先添置在某些店铺?现煮咖啡大卖的同时,是否会挤占店里其他咖啡及饮料产品的

人生三分之一埋在土里的时候,选择了学习OC语言 1 类和对象

人生三分之一埋在土里的时候,选择了学习OC语言  1 类和对象 今天开始整理我所理解的东西,希望能够帮助一些像我一样想要学习一门计算机语言的朋友们, 可能在很多的地方理解的也不够深入,有不对的地方还希望关注的朋友能够谅解,也多多提您的宝贵意见! 学习前需要具备的条件: 首先你要有C语言的一些基础,如果你没有,那可以先去自学一下C语言, 我是通过以下网站进行学习的,也希望对你能够有帮助! http://c.biancheng.net/cpp/u/jiaocheng/ 其次,你要有一台mac电脑,

从手淘搜索到优酷短视频,阿里巴巴是如何在搜索推荐领域下应用深度学习的?

摘要:深度学习是一个既可以处理特征.学习特征又可以实现最后的排序打分的一套整体解决方案,借助深度学习的解决方案,搜索推荐的工作方式将发生巨大的变化.想知道阿里巴巴如何将在搜索推荐领域下应用深度学习技术的吗?想知道手淘和优酷搜索结果的个性化又是如何实现的吗?本文不容错过! 本节视频地址:http://click.aliyun.com/m/48161/ PDF下载:http://click.aliyun.com/m/49207/ 演讲嘉宾简介: 孙修宇(花名:翎翀),阿里巴巴机器智能技术实验室算法专

程序员入门选择书籍学习的利与弊

假如你要学习编程,应该从哪里开始呢,是通过一些好书来学习编程还是参加一些在线课程,或者两者结合学习呢? 这里我个人建议刚开始的时候可以两两结合,多尝试不同的学习途径,这样你很快就可以了解哪种才是最适合你的,今天,我们主要和大家分析一下,选择书籍学习编程有哪些利弊 下面,先来说说编程书籍的优点: 1.易于与他人分享 如果你喜欢别人讨论问题,有本书就可以更好的展示这些主题,面对面讨论问题对于在线课程来说比较困难,因为你只能在视频播放的时候才能看到/听到,有了书,你可以自由地在各个页面来回切换. 2.

windows下scrapy框架学习笔记—'scrapy' 不是内部或外部命令

最近几天在深入的学习scrapy框架,但是装完各种需要的基础包之后却发现scrapy命令在别的路径下都用不了,我一开始是把python安装在F:\Python路径下的,安装了scrapy后它默认都会安装在这个路径下,scrapy在路径F:\Python\Scripts路径下,我的scrapy命令只能在此路径下用,因此创建什么工程也都只能在此文件下. 想了一下它的工作原理:它在F:\Python\Scripts路径下,就会在Scripts文件下存在一个scrapy批处理文件,那么在DOS下想要命令

当你的才华还撑不起你的野心时,就应该静下心来学习

当你的才华还撑不起你的野心时,就应该静下心来学习! 当你的才华还撑不起你的野心时,就应该静下心来学习! 当你的才华还撑不起你的野心时,就应该静下心来学习! 当你的才华还撑不起你的野心时,就应该静下心来学习! 当你的才华还撑不起你的野心时,就应该静下心来学习! 当你的才华还撑不起你的野心时,就应该静下心来学习! 当你的才华还撑不起你的野心时,就应该静下心来学习! 当你的才华还撑不起你的野心时,就应该静下心来学习!

PyQt下VTK窗口创建

# QVTKRenderWindowInteractor要求必须有初始化好的parent def CreateScene(self, parent): view = QVTKRenderWindowInteractor(parent) renderer = vtkRenderer() view.GetRenderWindow().AddRenderer(renderer) renderer.SetBackground(1,1, 1) view.GetRenderWindow().Render()

生活在别处,当你的才华还撑不起你的野心的时候,你就应该静下心来学习

当你的才华 还撑不起你的野心时 就应该静下心来 学习 当你的能力 还驾驭不了你的目标时 就应该沉下心来 历练  梦想 不是浮躁 而是沉淀和积累  只有拼出来的美丽 没有等出来的辉煌  机会永远是 留给最渴望的那个人  学会 与内心深处的你对话 问问自己 想要怎样的人生 人,来到这世上,总会有许多的不如意,也会有许多的不公平:会有许多的失落,也会有许多的羡慕.你羡慕我的自由,我羡慕你的约束:你羡慕我的车,我羡慕你的房:你羡慕我的工作,我羡慕你每天总有休息时间.或许,我们都是远视眼,总是活在对别人的

Android下ListView的学习

Android下ListView的学习 文字加图片的ListView 1.添加图片文件 在res下drawable-hdpi文件里添加所需的图片资源: 例:guide1.jpg,guide2.jpg,guide3.jpg,guide4.jpg,guide5.jpg,guide6.jpg,guide7.jpg,guide8.jpg. 2.MainActivity.java文件 1 package com.example.listview; 2 3 import java.util.ArrayLis