サラリーマンのすらすらIT日記

IT関連を中心とした日々を綴ります。
--/--/--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2013/06/26

Python−インデントの間違いでハマった

「Introduction to Python Programming and Developing GUI Applications with PyQt」の本にある、radio buttonを使ったプログラムを打ち込んでみました。GUI部分はQt Designerで作成し、メインプログラム部分はエディタで入力です。



from __future__ import division
import sys
from radiobtn import *

class MyForm(QtGui.QDialog):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_Dialog()
self.ui.setupUi(self)
QtCore.QObject.connect(self.ui.computeButton, QtCore.SIGNAL('clicked()'), self.calculate)
self.ui.radioAdd.setChecked(1)

def calculate(self):
if len(self.ui.lineFirstNumber.text())!=0:
a=int(self.ui.lineFirstNumber.text())
else:
a=0

if len(self.ui.lineSecondNumber.text())!=0:
b=int(self.ui.lineSecondNumber.text())
else:
b=0
if self.ui.radioAdd.isChecked()==True:
result=a+b
if self.ui.radioSubtract.isChecked()==True:
result=a-b
if self.ui.radioMultiply.isChecked()==True:
result=a*b
if self.ui.radioDivide.isChecked()==True:
result=a/b

self.ui.labelResult.setText("Result: "+str(result))

if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
myapp = MyForm()
myapp.show()
sys.exit(app.exec_())

実行すると下記のエラーが出ます。

$ python callradios.py
Traceback (most recent call last):
File "callradios.py", line 5, in <module>
class MyForm(QtGui.QDialog):
File "callradios.py", line 36, in MyForm
myapp = MyForm()
NameError: name 'MyForm' is not defined
$

そもそもPythonに慣れていないので、Traceback云々のエラーの意味がわかりません。あるサイトを見るとPythonプログラムを置いたディレクトリには、中身は空でもいいので__init__.pyなるファイルが必要と書かれていたので、touchコマンドでそのファイルを作ってみたものの、結果は変わらず。何日か過ぎてある時気がついたのが、インデントの問題。そう、このように書かないといけないのです。

self.ui.labelResult.setText("Result: "+str(result))

if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
myapp = MyForm()
myapp.show()
sys.exit(app.exec_())

これでOKでした。インデントに慣れていないためにハマってしまいました。

スポンサーサイト

コメント

コメントの投稿

  • URL
  • コメント
  • パスワード
  • 秘密
  • 管理者にだけ表示を許可する

トラックバック

トラックバックURL:http://sookibizviz.blog81.fc2.com/tb.php/1603-f1ceb998

■  カレンダー

08 | 2017/09 | 10
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

■  プロフィール

sookibizviz

Author:sookibizviz
仕事の内容やソフトの紹介を交えながら、日々の悪戦苦闘を綴っていきます。

■  最新記事

■  最新コメント

■  最新トラックバック

■  月別アーカイブ

■  カテゴリ

未分類 (64)
BizViz (24)
IT (1119)
計量 (76)
環境 (26)
数学 (181)
ニュース (46)
本 (187)
音楽 (113)
囲碁 (5)
将棋 (26)
ブログ (14)
日記 (19)

■  FC2カウンター

■  検索フォーム

■  RSSリンクの表示

■  QRコード

QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。