2014-01-06 3 views
0

Я новичок в python, пожалуйста, помогите мне с этой проблемой. Я создал виджет вкладки и имею кнопку в виджетах вкладок. При нажатии этой кнопки мне нужно отобразить новое окно/диалог, содержащий 4 5 правок линии, но я получаю сообщение об ошибке атрибута при вызове метода на кнопку мыши, пожалуйста, помогите мне с этой проблемой это мой кодЯ получаю AttributeError для кода python

class TabDialog(QtGui.QDialog): 

    def __init__(self, fileName, parent=None): 
    super(TabDialog, self).__init__(parent) 

    fileInfo = QtCore.QFileInfo(fileName) 

    tabWidget = QtGui.QTabWidget() 
    tabWidget.addTab(PatientTab(fileInfo), "Patient Info") 
    .... 
class NewWindow(QtGui.QDialog): 
def __init__(self, parent=None): 
     super(MyWindow, self).__init__(parent) 

    group1= QtGui.QGroupBox("Add Data") 
    patientName = QtGui.QLabel("Name") 
    patientEdit = QtGui.QLineEdit() 

    patientid = QtGui.QLabel("Id") 
    patientidEdit = QtGui.QLineEdit() 

    genderlabel = QtGui.QLabel("Gender") 
    patientgend = QtGui.QLineEdit() 

    eyeType = QtGui.QLabel("Eye Type") 
    eyeTypeEdit = QtGui.QLineEdit() 

    AddData = QtGui.QPushButton("Add Data") 

      databaseLayout = QTGui.QGridLayout() 
    databaseLayout.addWidget(patientName,0,0) 
     databaseLayout.addWidget(patientEdit,0,1) 
     databaseLayout.addWidget(patientid,1,0) 
     databaseLayout.addWidget(patientidEdit,1,1) 
     databaseLayout.addWidget(genderLabel,2,0) 
     databaseLayout.addWidget(patientgend,2,1) 
     databaseLayout.addWidget(eyeType,3,0) 
     databaseLayout.addWidget(eyeTypeEdit,3,1) 
     databaseLayout.addWidget(AddData,4,10) 

     group1.setLayout(databaseLayout) 

    mainLayout = QtGui.QVBoxLayout() 
    mainLayout.addWidget(group1) 
    mainLayout.addStretch(1) 
    self.setLayout(mainLayout) 

class PatientTab(QtGui.QWidget): 

    def __init__(self, fileInfo, parent=None): 
    super(PatientTab, self).__init__(parent) 

    self.buttonGroup = QtGui.QGroupBox() 
    self.newButton = QtGui.QPushButton(self) 
self.newButton.setText("New") 
    ***self.newButton.clicked.connect(self.newButton_Clicked) 
    ......... 
    self.newWindow = NewWindow(self) 


def newButton_Clicked(self): 
    self.newWindow.exec_() 

линия началась с * где я получаю ошибку AttributeError: Объект PatientTab не имеет атрибута 'newButton_Clicked' , где я ошибаюсь, пожалуйста, помогите ......

ответ

0

Является ли отступ в вашем вопросе таким же, как в вашем коде?

Похоже, что ваш метод newButton_Clicked объявлен за пределами класса PatientTab. Вот почему ваш PatientTab замечает, что имеет атрибут self.newButton_Clicked ...

+0

спасибо, что это была проблема, сейчас мой код работает отлично ...... –

+0

@ darshankatari ... приветствую вас. Принятый способ сказать спасибо - принять ответ и, возможно, проголосовать за него;) – GreenAsJade

Смежные вопросы