mhxy13867806343 发表于 2014-03-29 21:10

python简化代码

def tab1(self,x):
      #tab=QtGui.QTableWidgetItem()
      #tab.setSelected(1)
      for i in self.visi.sizeTab.colorbuck.selectedItems():
            if i.row()==0:
                  s=QtGui.QImage(r'listimage\ab (1).jpg')
                  self._tools.label_16.setPixmap(QtGui.QPixmap.fromImage(s))
            if i.column()==1:
                  s0=QtGui.QImage(r'listimage\c.png')
                  self._tools.label_16.setPixmap(QtGui.QPixmap.fromImage(s0))
            if i.row()==1:
                  s1=QtGui.QImage(r'listimage\ab (2).jpg')
                  self._tools.label_16.setPixmap(QtGui.QPixmap.fromImage(s1))
            if i.column()==1 and i.row()==1:
                  s1=QtGui.QImage(r'listimage\ab (3).jpg')
                  self._tools.label_16.setPixmap(QtGui.QPixmap.fromImage(s1))
            ifi.row()==2:
                  s1=QtGui.QImage(r'listimage\ab (4).jpg')
                  self._tools.label_16.setPixmap(QtGui.QPixmap.fromImage(s1))
            ifi.column()==1 and i.row()==2:
                  s1=QtGui.QImage(r'listimage\ab (5).jpg')
                  self._tools.label_16.setPixmap(QtGui.QPixmap.fromImage(s1))
            ifi.row()==3:
                  s1=QtGui.QImage(r'listimage\ab (6).jpg')
                  self._tools.label_16.setPixmap(QtGui.QPixmap.fromImage(s1))
            ifi.column()==1 and i.row()==3:
                  s1=QtGui.QImage(r'listimage\ab (7).jpg')
                  self._tools.label_16.setPixmap(QtGui.QPixmap.fromImage(s1))
求大神帮我简化下代码,!

icymirror 发表于 2014-03-31 10:41

回复 1# mhxy13867806343
如果你的表是4行2列的话,并且,这几个jpg/png可以改变格式和名字的话,那么,你可以相对简单的把这些 if 写成:
position = row * 2 + col
img = QtGui.QImage(r'listimage\ab (%d).jpg'%position)
self._tools.label_16.setPixmap(QtGui.QPixmap.fromImage(img))
这需要:
1. 把ab(1).jpg改成ab(0).jpg
2. 把c.png转换和改名成ab(1).jpg
至于s/s0/s1,它们只是中间变量,改名字没有影响。

love_shift 发表于 2014-03-31 18:19

:mrgreen: 这是不是直接一个for 语句。row , ab , s 都用同一个变量就好了!

Hugo801122 发表于 2014-04-04 01:02

学习了,真好的交流环境!
页: [1]
查看完整版本: python简化代码