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

2024-06-28 14:55:41 发布

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

每次我在用户名框中输入不同的用户名时,我的代码都有问题,它会打印相同的时间表。我一直在想这个代码,但我很头痛。我不知道怎么修。你知道吗

窗口框

##!/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()

Tags: selfmovedefconnectusernamescheduleprintfont
1条回答
网友
1楼 · 发布于 2024-06-28 14:55:41

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

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

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

相关问题 更多 >