私の現在のコードに問題がありますので、助けが必要です。私はGoRight関数を呼び出すようにしようとしているが、それは私にエラーを与える:はAttributeError:「MyClassの」オブジェクトが属性「select_db_flag」を持っていない'MyClass'オブジェクトに属性 'select_db_flag'のエラーがありません
エラーは、この行にジャンプされています
if select_db_flag == True:
:ここ
import move_right
class MyClass(xbmcgui.WindowXML):
def GoRight(self):
move_right.GoRight(self)
は、エラーが発見されたコードは次のとおりです。
は、ここで私はmove_right.pyからGoRight関数を呼び出すために使用するコードです
import datetime
import time
import xbmc
import xbmcgui
prog_id = 0
select_db_flag = False
program_stop_minutes = 0
program_stop_time = 0
epg_time_1 = ''
epg_time_2 = ''
epg_time_3 = ''
def get_programming_times(self):
if select_db_flag == True:
select_db_flag = False
def GoRight(self):
program_button = [elem.control for elem in self.program_buttons]
programs_id = list()
program_width = list()
positions_X = list()
positions_Y = list()
for elem in program_button:
programs_id.append(elem.getId())
positions_X.append(elem.getX())
positions_Y.append(elem.getY())
program_width.append(elem.getWidth())
programs_id = map(str, programs_id)
posX = map(str, positions_X)
posY = map(str, positions_Y)
program_width = map(str, program_width)
for pos_X, pos_Y, prog_id, prog_width in zip(positions_X, positions_Y, programs_id, program_width):
if int(pos_X) == 375 and int(prog_width) == 1311:
programs_width = 969
self.getControl(int(prog_id)).setWidth(int(programs_width))
program_width = self.getControl(int(prog_id)).getWidth()
select_db_flag = True
program_stop_minutes, program_stop_time, epg_time_1, epg_time_2, epg_time_3 = get_programming_times(self)
if program_stop_time == epg_time_3:
if program_stop_minutes == '00':
if program_width == 969:
program_width = 692
私はコードの上にselect_db
を定義しましたが、エラーが発生したときには役に立ちませんでした。
なぜ私にはエラーがあり、それを修正する方法を知っていますか?これで
def get_programming_times(self):
if select_db_flag == True:
select_db_flag = False
:
def get_programming_times(self):
global select_db_flag
if select_db_flag == True:
select_db_flag = False
あなたはグローバル変数を呼び出すので、あなたはおそらく、あまりにも他の機能にglobal select_db_flag
を必要とするグローバル毎回使用する必要があります
'select_db'はグローバル変数か、クラス固有の変数ですか? –