[Çözüldü] Python- Fonksiyon dışından değişken çağıramıyorum

Başlatan Quaoar, 13 Temmuz 2014 - 14:17:08

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

Quaoar

Merhaba, PyQt ile sayı tahmin oyunu yapmaya çalışıyorum fakat başka fonksiyonda belirlediğim değişkenleri tanıtamıyorum.
import random
from PyQt4 import QtCore, QtGui
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s

try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)

class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(473, 326)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
self.baslatt = QtGui.QPushButton(self.centralwidget)
self.baslatt.setGeometry(QtCore.QRect(40, 240, 121, 41))
self.baslatt.setObjectName(_fromUtf8("baslatt"))
self.tahminett = QtGui.QPushButton(self.centralwidget)
self.tahminett.setGeometry(QtCore.QRect(300, 240, 121, 41))
self.tahminett.setObjectName(_fromUtf8("tahminett"))
self.tahminn = QtGui.QLineEdit(self.centralwidget)
self.tahminn.setGeometry(QtCore.QRect(90, 100, 261, 22))
self.tahminn.setObjectName(_fromUtf8("tahminn"))
self.label = QtGui.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(10, 30, 451, 41))
self.label.setObjectName(_fromUtf8("label"))
self.label_2 = QtGui.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(30, 100, 47, 14))
self.label_2.setObjectName(_fromUtf8("label_2"))
self.label_3 = QtGui.QLabel(self.centralwidget)
self.label_3.setGeometry(QtCore.QRect(30, 170, 57, 14))
self.label_3.setObjectName(_fromUtf8("label_3"))
self.durum = QtGui.QLabel(self.centralwidget)
self.durum.setGeometry(QtCore.QRect(90, 170, 241, 16))
self.durum.setText(_fromUtf8(""))
self.durum.setObjectName(_fromUtf8("durum"))
self.hakkinda = QtGui.QPushButton(self.centralwidget)
self.hakkinda.setGeometry(QtCore.QRect(180, 240, 101, 41))
self.hakkinda.setObjectName(_fromUtf8("hakkinda"))
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 473, 21))
self.menubar.setObjectName(_fromUtf8("menubar"))
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtGui.QStatusBar(MainWindow)
self.statusbar.setObjectName(_fromUtf8("statusbar"))
MainWindow.setStatusBar(self.statusbar)
QtCore.QObject.connect(self.hakkinda, QtCore.SIGNAL(_fromUtf8("clicked()")), self.hakkindamsg)
QtCore.QObject.connect(self.baslatt, QtCore.SIGNAL(_fromUtf8("clicked()")), self.baslat_btn)
QtCore.QObject.connect(self.tahminett, QtCore.SIGNAL(_fromUtf8("clicked()")), self.guesss)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
self.tahminett.setEnabled(False)
self.tahminn.setEnabled(False)
def hakkindamsg(self):
QtGui.QMessageBox.about(None, "Hakkında", "Ege Öz 2014")

def baslat_btn(self):
sayac=0
global sayac
self.tahminn.setEnabled(True)
self.tahminett.setEnabled(True)
self.baslatt.setEnabled(False)

sayi=random.randint(0,100)
global tahmin


self.durum.setText("1-100 arası bir sayı girin.")

def guesss(self):
tahmin=self.tahminn.text()
sayac=sayac +1
tahmin = int(tahmin)
if tahmin==sayi:
self.durum.setText ("Tahmininiz doğru!")
QtGui.QMessageBox.warning(None,"Tahmininiz doğru","Doğru sayıyı ",sayac," denemede buldunuz!")
self.tahminett.setEnabled(False)
self.tahminn.setEnabled(False)
self.ybaslatt.show()
elif tahmin>sayi:
self.durum.setText("Tahmininiz doğru sayıdan büyük.")
elif tahmin<sayi:
self.durum.setText("Tahmininiz doğru sayıdan küçük.")
else:
QtGui.QMessageBox.warning(None,"Geçersiz sayı","Sadece 1 ile 100 arasında bir sayı girebilirsiniz.")

def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(_translate("MainWindow", "Sayıyı Bul", None))
self.baslatt.setText(_translate("MainWindow", "Başlat", None))
self.tahminett.setText(_translate("MainWindow", "Tahmin Et", None))
self.label.setText(_translate("MainWindow", "<html><head/><body><p align=\"center\"><span style=\" font-weight:600;\">Python-Sayı Tahmin Oyunu </span></p><p>Başlamak için &quot;Başlat&quot; düğmesine basın ve 1-100 arasında bir sayı girin.</p></body></html>", None))
self.label_2.setText(_translate("MainWindow", "Tahmin:", None))
self.label_3.setText(_translate("MainWindow", "", None))
self.hakkinda.setText(_translate("MainWindow", "Hakkında", None))

if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
MainWindow = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())

Teşekkürler

egcodes

python class'larda self kullanımı araştır. self.sayac diye değişken oluşuturursan o class içerisinde her yerden aynı şekilde çağırabilirsin.
1f u c4n r34d th1s u r34lly n33d t0 g37 l41d

Quaoar

#2
Alıntı yapılan: egcodes - 13 Temmuz 2014 - 14:48:28
python class'larda self kullanımı araştır. self.sayac diye değişken oluşuturursan o class içerisinde her yerden aynı şekilde çağırabilirsin.
Teşekkürler araştırıyorum.



Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 13 Temmuz 2014 - 16:38:12

Tekrar teşekkürler sorun çözüldü.