ASP.NET overflow angularjs xcode swing swift2 ip Egret Engine 河南网络推广 网赚视频教程 网络营销视频 ppt视频教程下载 less使用 mac安装hadoop python程序界面 python面向对象 python的range python循环语句 python查找指定字符 python模块下载 java开发环境 java时间戳转换成时间 java类和对象 javarandom java重载和重写的区别 java编程语言 java字符串函数 java开发语言 linux教程 linuxshell编程 黑客攻防实战入门 begininvoke 网络适配器下载 小工具 送货单管理系统 mtu设置多少最好 fireworks下载 office2010免费版 大势至usb控制系统 啊哈c语言
当前位置: 首页 > 学习教程  > python

GUI从python2到python3

2021/2/8 15:55:48 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

won’t compile on wxPython 4.1.0 use wxPython 4.0.7 instead 这里使用是这个版本的wxPython 4.0.7.post2,最新版本会存在更多的不兼容。 Python 为什么list不能作为字典的key? 对于有些unhashable types不能作为dict key,我创建一个类cl…

won’t compile on wxPython 4.1.0 use wxPython 4.0.7 instead
这里使用是这个版本的wxPython 4.0.7.post2,最新版本会存在更多的不兼容。

Python 为什么list不能作为字典的key?

对于有些unhashable types不能作为dict key,我创建一个类class,他可以作为dict.key

#################view.py下的修改
class lc:
    #for (lengend_color) to be hashable
    #so can be dict.key using wx.Colour
    def __init__(self,name):
        self.name=name
  
 ################
        self.legend_color = dict([
                            (lc(wx.Colour(64,128,128,trans)),1),(lc(wx.Colour(255,0,255,trans)),0),
                            (lc(wx.Colour(64,0,0,trans)),0), (lc(wx.Colour(255,255,0,trans)),0),
                            (lc(wx.Colour(0,128,255,trans)),0),(lc(wx.Colour(128,0,255,trans)),0),
                            (lc(wx.Colour(128,128,64,trans)),0),])
################################
    def get_color(self):
        for color, used in self.legend_color.items():
            if not used:
                self.legend_color[color] = 1
                #lpj
                return color.name
###########原始版本python2
        self.legend_color = dict([
                            (wx.Colour(64,128,128,trans),1),(wx.Colour(255,0,255,trans),0),
                            (wx.Colour(64,0,0,trans),0), (wx.Colour(255,255,0,trans),0),
                            (wx.Colour(0,128,255,trans),0),(wx.Colour(128,0,255,trans),0),
                            (wx.Colour(128,128,64,trans),0),])
                            # Format: [color, 0 or 1] 0 stands for not being used
                            #  1 for being used


    def get_color(self):
        for color, used in self.legend_color.iteritems():
            if not used:
                self.legend_color[color] = 1
                return color
#######gui.py下的修改
        grid_panel.legend_color =dict([
                            (lc(wx.Colour(64,128,128,trans)),1),(lc(wx.Colour(255,0,255,trans)),0),
                            (lc(wx.Colour(64,0,0,trans)),0), (lc(wx.Colour(255,255,0,trans)),0),
                            (lc(wx.Colour(0,128,255,trans)),0),(lc(wx.Colour(128,0,255,trans)),0),
                            (lc(wx.Colour(128,128,64,trans)),0),])
        
                                # Format: [color, 0 or 1] 0 stands for not being used
                                #  1 for being used


#################################
                color = view_material.zone_color.pop()
                #lpj
                for color_index, used in grid_panel.legend_color.items():
                    if color_index.name==color:
                        grid_panel.legend_color[color_index]=0
                #lpj comment one line
                #grid_panel.legend_color[color] = 0
                # Delete the last zone
########################原始版本
        grid_panel.legend_color =dict([
                            (wx.Colour(64,128,128,trans),1),(wx.Colour(255,0,255,trans),0),
                            (wx.Colour(64,0,0,trans),0), (wx.Colour(255,255,0,trans),0),
                            (wx.Colour(0,128,255,trans),0),(wx.Colour(128,0,255,trans),0),
                            (wx.Colour(128,128,64,trans),0),])
 ####################################
                 color = view_material.zone_color.pop()
                grid_panel.legend_color[color] = 0

此外,对于画图包wxpython,在view.py中有一些语句在python3中已经被弃用,因此将其comment

        #lyf comment
       #dc.BeginDrawing()
##################################
        #lyf comment
       #dc.EndDrawing()

本文链接: http://www.dtmao.cc/news_show_2000375.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?