Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Qt框架、PyQt5和AttributeError:&x27;MyApp';对象没有属性';myAttribute';_Python_Qt_User Interface_Pyqt5 - Fatal编程技术网

Python Qt框架、PyQt5和AttributeError:&x27;MyApp';对象没有属性';myAttribute';

Python Qt框架、PyQt5和AttributeError:&x27;MyApp';对象没有属性';myAttribute';,python,qt,user-interface,pyqt5,Python,Qt,User Interface,Pyqt5,上周我开始学习Python,并开发了一些命令行应用程序。现在我想用GUI开发应用程序。我在互联网上搜索,找到了一个适合我需要的项目:Qt-project()和PyQt()。我在Mac OS X 10.10和python 2.7.6上安装了Qt5.3.2开源、SIP4.16.4、PyQt5 5.3.2。在安装Qt和PyQt时遇到一些麻烦之后,我终于设法使它们工作了。如果我从PyQt示例文件夹中打开示例项目,gui将毫无问题地出现。因此,我使用QtCreator创建了GUI,然后使用pyuic5生成

上周我开始学习Python,并开发了一些命令行应用程序。现在我想用GUI开发应用程序。我在互联网上搜索,找到了一个适合我需要的项目:Qt-project()和PyQt()。我在Mac OS X 10.10和python 2.7.6上安装了Qt5.3.2开源、SIP4.16.4、PyQt5 5.3.2。在安装Qt和PyQt时遇到一些麻烦之后,我终于设法使它们工作了。如果我从PyQt示例文件夹中打开示例项目,gui将毫无问题地出现。因此,我使用QtCreator创建了GUI,然后使用pyuic5生成python代码。这是PUIC5创建的(文件名“myapp\u auto.py”):

在那之后,我添加了一个新的python文件,我把代码放在那里;这是我写的(文件名“myapp.py”):

然后,我运行myapp.py,并验证所有GUI元素似乎都在它们应该位于的位置。嗯……现在我的问题来了:我试图用代码访问MainWindow中的“time”元素,修改init def,因此:

def __init__(self, parent=None, name=None):
            Ui_MainWindow.__init__(self)

            # Set the date to now
            now = QDateTime()
            now.setTime_t(int(time.time()))
            self.time.setDateTime(now)
但编译器始终显示此错误:

AttributeError:“MyApp”对象没有属性“time”

即使我尝试访问任何其他元素(“ok”、“text”),也会发生这种情况。 这肯定是个愚蠢的错误,但我就是想不出哪里出了错。 谢谢大家! 祝你过得愉快

安德里亚

你已经不远了

MyApp
类需要继承
QMainWindow
,您不需要使用
time
模块。试着这样做:

class MyApp(QMainWindow, Ui_MainWindow):
    parse_triggered = pyqtSignal()

    def __init__(self, parent=None, name=None):
        super(MyApp, self).__init__(parent)
        self.setupUi(self)
        # Set the date to now
        self.time.setDateTime(QDateTime.currentDateTime())

if __name__ == "__main__":

    app = QApplication(sys.argv)
    window = MyApp()
    window.show()
    sys.exit(app.exec_())

太好了,太完美了!对于初学者来说,从专家那里得到建议真是太棒了!非常感谢你,埃克胡洛,你救了我一个晚上!
def __init__(self, parent=None, name=None):
            Ui_MainWindow.__init__(self)

            # Set the date to now
            now = QDateTime()
            now.setTime_t(int(time.time()))
            self.time.setDateTime(now)
class MyApp(QMainWindow, Ui_MainWindow):
    parse_triggered = pyqtSignal()

    def __init__(self, parent=None, name=None):
        super(MyApp, self).__init__(parent)
        self.setupUi(self)
        # Set the date to now
        self.time.setDateTime(QDateTime.currentDateTime())

if __name__ == "__main__":

    app = QApplication(sys.argv)
    window = MyApp()
    window.show()
    sys.exit(app.exec_())