Python 需要为pyqt4上的其他用户名创建代码

Python 需要为pyqt4上的其他用户名创建代码,python,pyqt,pyqt4,Python,Pyqt,Pyqt4,每次我在用户名框中输入不同的用户名时,我的代码都会出现问题,因为它会打印相同的时间表。我一直在试图找出这个代码,但我对此感到头痛。我不知道怎么修理它 窗口框 ##!/usr/bin/python # -*- coding: utf-8 -*- import sys from PyQt4 import QtGui global username username = " " class Home(QtGui.QWidget): def __init__(self):

每次我在用户名框中输入不同的用户名时,我的代码都会出现问题,因为它会打印相同的时间表。我一直在试图找出这个代码,但我对此感到头痛。我不知道怎么修理它

窗口框

##!/usr/bin/python
# -*- coding: utf-8 -*-

import sys 
from PyQt4 import QtGui

global username
username = " "

class Home(QtGui.QWidget):     
    def __init__(self):
        super(Home, self).__init__()

        self.initUI()

    def initUI(self):
        font   = QtGui.QFont("Times New Roman",10,QtGui.QFont.Bold,False)  #We Changed the font to Times New Roman 

        username = QtGui.QLabel('Username',self)
        username.move(10,40)
        username.setFont(font);

        username = QtGui.QLabel('Enter Courses Prefix',self)
        username.move(10,160)
        username.setFont(font);

        usernameEdit = QtGui.QLineEdit(self)
        usernameEdit.move(90,35)
        usernameEdit.textChanged[str].connect(self.onChangedusername) #login box for Username
        usernameEdit.setFocus()

        usernameEdit = QtGui.QLineEdit(self)
        usernameEdit.move(160,160)
        usernameEdit.textChanged[str].connect(self.onChangedusername) #login box for Courses Prefix
        usernameEdit.setFocus()

        btn = QtGui.QPushButton('Print all Courses', self)
        btn.move(10, 80)
        btn.setFixedWidth(130)
        btn.setFixedHeight(50)     
        btn.setStyleSheet("background-color: #00FF00") #Print all Courses
        btn.clicked.connect(self.Courses)  
        btn.setFont(font)

        btn = QtGui.QPushButton('Print Schedule', self)
        btn.move(180, 80)
        btn.setFixedWidth(130)
        btn.setFixedHeight(50)     
        btn.setStyleSheet("background-color: #00FF00") #Print Schedule
        btn.clicked.connect(self.Schedule)  
        btn.setFont(font)

        btn = QtGui.QPushButton('Add Courses', self)
        btn.move(10, 200)
        btn.setFixedWidth(130)
        btn.setFixedHeight(50)     
        btn.setStyleSheet("background-color: #FF00FF") #Add Courses button
        btn.clicked.connect(self.Courses)  
        btn.setFont(font)

        btn = QtGui.QPushButton('Drop Courses', self)
        btn.move(180, 200)
        btn.setFixedWidth(130)
        btn.setFixedHeight(50)     
        btn.setStyleSheet("background-color: #FF00FF") #Drop Courses button
        btn.clicked.connect(self.Courses)  
        btn.setFont(font)

        self.setGeometry(5, 30, 600, 300)
        self.setWindowTitle('CSCI237 PROJECT')   #Update window title to CSCI237 PROJECT
        self.show()

    def onChangedusername(self, text):
        global username
        username = str(text)

    def Courses(self):
        courses = ["CSCI101, INTRO TO COMPUTER TECHNOLOGY, MORISSON DEIDRA, 10-20, OPEN, MWF 10:00AM-10:50AM MAIN CAMPUS JST, COMPUTER SCIENCE LAB 109, 3, 1-11-2018-04-27-2018"]
        for courses in courses:
            print courses

    def Schedule(self):
        schedules_Ruby = ["CSCI 207 01 UG MC, Mondal Ananda,"]
        print schedules_Ruby

    def Schedule(self):
        schedules_Desmon = ["CSCI 208 01 UG MC,Morisson Diedra,"]
        print schedules_Desmon

    def Schedule(self):
        schedules_Devon = ["CSCI 209 01 UG MC,Dipesh Basnet,"]
        print schedules_Devon

    def Schedule(self):
        schedules_Anna = ["CSCI 210 01 UG MC, Felicia Reid,"]
        print schedules_Anna

def main():
    app = QtGui.QApplication(sys.argv)
    ex = Home()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()


首先,您需要重命名方法,在多个方法上使用相同的名称可能会导致问题。为它们添加一个数字就足够了

其次,当您输入不同的用户名时,您希望发生什么?如果你想打印该学生的时间表,你应该考虑为这些学生创建一些用户名


第三,PyQt实际上有一个更新的版本,名为PyQt5,虽然您不必升级它,但我强烈建议:)

使用相同名称的方法是一种糟糕的编程实践,建议:您必须使用不同的名称。我如何修复它?您应该何时返回schedules\u Devon,何时返回schedules\u Anna,等等?我不知道我刚刚开始学习python代码:(每次我输入不同的用户名,它都会打印相同的内容。事实上,第二点也适用于你的变量,你不应该在代码中多次使用相同的变量。稍微清理一下你的代码,我会很乐意看一看,直到那时,对于一个简单的问题,这需要做很多工作。我确实重命名了我的方法,但仍然打印了同样的时间表,我为这些学生创建了用户名:(username1=“ruby”username2=“desmon”username3=“devon”username4=“anna”def schedule(self,student1):schedule1=[“CSCI 20701 UG MC,Mondal Ananda,”]print“ruby schedule:”print schedule1