每次我在用户名框中输入不同的用户名时,我的代码都有问题,它会打印相同的时间表。我一直在想这个代码,但我很头痛。我不知道怎么修。你知道吗
窗口框
##!/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,虽然您不必升级它,但我强烈推荐它:)
相关问题 更多 >
编程相关推荐