Python缩进错误:

2024-05-15 21:41:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我试过notepad++和eclipse,但即便如此,它还是在第18行显示了一个缩进错误。我不知道,为什么它会让我犯这样的错误。。。?请帮帮我。

from brisa.core.reactors.qtreactor import QtReactor
reactor = QtReactor()
from brisa.core import config
from brisa.upnp.device import Device
from brisa.upnp.device.service import Service, StateVariable
class QtDevice(QtGui.QWidget):
     def __init__(self):

         QtGui.QWidget.__init__(self)
         self.verticalLayout = QtGui.QVBoxLayout(self)
         self.title = QtGui.QLabel("Qt Simple Device")
         font = QtGui.QFont()
         font.setPointSize(15)
         self.title.setFont(font)
         self.title.setAlignment(QtCore.Qt.AlignCenter)
         self.verticalLayout.addWidget(self.title)
         self.lineEdit = QtGui.QLineEdit(self)
         self.verticalLayout.addWidget(self.lineEdit)
         self.search_btn = QtGui.QPushButton("Start Device", self)
         self.verticalLayout.addWidget(self.search_btn)
         QtCore.QObject.connect(self.search_btn, QtCore.SIGNAL("clicked()"), self.start)
         self.stop_btn = QtGui.QPushButton("Stop Device", self)
         self.verticalLayout.addWidget(self.stop_btn)
         QtCore.QObject.connect(self.stop_btn, QtCore.SIGNAL("clicked()"), self.stop)
         self.lineEdit.setText(’My Generic Device Name’)
         self.root_device = None
         self.upnp_urn = ’urn:schemas-upnp-org:device:MyDevice:1’


     def _add_root_device(self):
         project_page = ’http://brisa.garage.maemo.org’
         serial_no = config.manager.brisa_version.replace(’.’, ’’).rjust(7, ’0’)
         self.root_device = Device(self.upnp_urn,str(self.lineEdit.text()),
                                    manufacturer=’’,
                                    manufacturer_url=,
                                    model_description=’ ’

                                    model_name=’’,
                                    model_number=,
                                    model_url=,
                                    serial_number=)  


     def _add_services(self):
         service_name = ’MyService’
         service_type = ’urn:schemas-upnp-org:service:MyService:1’
         myservice = Service(service_name, service_type, ’’)
         var = StateVariable(self, "A_ARG_TYPE_Variable",True, False, "string")
         myservice.add_state_variable(var)
         self.root_device.add_service(myservice)

    def _load(self):
         self._add_root_device()
         self._add_services()
         def start(self):
         self.stop()
         self._load()
         self.root_device.start()
         reactor.add_after_stop_func(self.root_device.stop)  

     def stop(self):
         if self.root_device:
             self.root_device.stop()
             self.root_device = None

def main():
     qt_dev = QtDevice()
     qt_dev.show()
     reactor.main()
if __name__ == ’__main__’:
     main()          

Tags: fromselfadddevicedefservicerootupnp
3条回答

争吵

     self.verticalLayout.addWidget(self.lineEdit)

应该与其他行处于同一级别。

您可能遗漏了它,因为编辑器混合了制表符和空格。

如果您在自己的问题中单击“编辑”,您将看到此行没有正确缩进。

在这种情况下,通常最好使用-t标志运行python:

-t : issue warnings about inconsistent tab usage (-tt: issue errors)

这将有助于发现意外使用制表符导致的缩进问题。

这是您的报价,例如在线:

self.lineEdit.setText(’My Generic Device Name’)

试试这个:

from brisa.core.reactors.qtreactor import QtReactor
reactor = QtReactor()
from brisa.core import config
from brisa.upnp.device import Device
from brisa.upnp.device.service import Service, StateVariable
class QtDevice(QtGui.QWidget):
     def __init__(self):

         QtGui.QWidget.__init__(self)
         self.verticalLayout = QtGui.QVBoxLayout(self)
         self.title = QtGui.QLabel("Qt Simple Device")
         font = QtGui.QFont()
         font.setPointSize(15)
         self.title.setFont(font)
         self.title.setAlignment(QtCore.Qt.AlignCenter)
         self.verticalLayout.addWidget(self.title)
         self.lineEdit = QtGui.QLineEdit(self)
         self.verticalLayout.addWidget(self.lineEdit)
         self.search_btn = QtGui.QPushButton("Start Device", self)
         self.verticalLayout.addWidget(self.search_btn)
         QtCore.QObject.connect(self.search_btn, QtCore.SIGNAL("clicked()"), self.start)
         self.stop_btn = QtGui.QPushButton("Stop Device", self)
         self.verticalLayout.addWidget(self.stop_btn)
         QtCore.QObject.connect(self.stop_btn, QtCore.SIGNAL("clicked()"), self.stop)
         self.lineEdit.setText('My Generic Device Name')
         self.root_device = None
         self.upnp_urn = 'urn:schemas-upnp-org:device:MyDevice:1'


     def _add_root_device(self):
         project_page = 'http://brisa.garage.maemo.org'
         serial_no = config.manager.brisa_version.replace('.', '').rjust(7, '0')
         self.root_device = Device(self.upnp_urn,str(self.lineEdit.text()),
                                    manufacturer='',
                                    manufacturer_url=,
                                    model_description=' '

                                    model_name='',
                                    model_number=,
                                    model_url=,
                                    serial_number=)  


     def _add_services(self):
         service_name = 'MyService'
         service_type = 'urn:schemas-upnp-org:service:MyService:1'
         myservice = Service(service_name, service_type, '')
         var = StateVariable(self, "A_ARG_TYPE_Variable",True, False, "string")
         myservice.add_state_variable(var)
         self.root_device.add_service(myservice)

    def _load(self):
         self._add_root_device()
         self._add_services()
         def start(self):
         self.stop()
         self._load()
         self.root_device.start()
         reactor.add_after_stop_func(self.root_device.stop)  

     def stop(self):
         if self.root_device:
             self.root_device.stop()
             self.root_device = None

def main():
     qt_dev = QtDevice()
     qt_dev.show()
     reactor.main()
if __name__ == '__main__':
     main()   

相关问题 更多 >