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