اینجا مریوط به pyqt دیگه نه؟
پس سوال:
به این کد نگاه کنید. اگه خطی که کامنت شده رو غیر کامنت کنم و خطی که آخرش نوشتم chera?? را کامنت کنم یه ارور مسخره میگیره . در واقع لیبل رو نمیشناسه. واقعا چرا اینجوریه؟
from PyQt4.QtCore import *
from PyQt4.QtGui import *
import sys
import urllib.request
class tranc( QDialog ):
def __init__( self, parent = None ):
super( tranc, self ).__init__( parent )
self.getFile()
# self.labelDate = QLabel( 'Exchange Rates Date: Disconnect' )
self.firstCombo = QComboBox()
self.firstCombo.addItems( list( self.myDic.keys() ) )
self.spinRate = QDoubleSpinBox()
self.secondCombo = QComboBox()
self.secondCombo.addItems( list( self.myDic.keys() ) )
self.labelResult = QLabel()
self.layout = QGridLayout()
self.layout.addWidget( self.labelDate, 0, 0 )
self.layout.addWidget( self.firstCombo, 1, 0 )
self.layout.addWidget( self.spinRate, 1, 1 )
self.layout.addWidget( self.secondCombo, 2, 0 )
self.layout.addWidget( self.labelResult, 2, 1 )
self.setLayout( self.layout )
self.connect( self.firstCombo, SIGNAL( 'currentIndexChanged(int)' ), self.updateUi )
self.connect( self.spinRate, SIGNAL( 'valueChanged(double)' ), self.updateUi )
self.connect( self.secondCombo, SIGNAL( 'currentIndexChanged(int)' ), self.updateUi )
def updateUi( self ):
az = self.firstCombo.currentText()
be = self.secondCombo.currentText()
meghdar = self.spinRate.value()
self.labelResult.setText( "%s" % ( ( self.myDic[be] * meghdar ) / self.myDic[az] ) )
def getFile( self ):
temp = urllib.request.urlretrieve( "http://www.bankofcanada.ca/en/markets/csv/exchange_eng.csv" )
myFile = open( temp[0], 'r' )
self.myDic = dict()
self.labelDate = QLabel( 'Exchange Rates Date: Disconnect' )#Chera?????
for line in myFile:
if not line or line.startswith( ( '#', 'Closing ' ) ):
continue
else:
myParts = line.split( ',' )
if myParts[0].startswith( 'Date' ):
pass
self.labelDate.setText( "Exchange Rates Date: %s" % myParts[-1] )
else:
self.myDic[str( myParts[0] )] = float( myParts[-1] )
app = QApplication( sys.argv )
wid = tranc()
wid.show()
app.exec_()
ممنون