首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储用户登录pyqt的历史记录

问存储用户登录pyqt的历史记录
EN

Stack Overflow用户
提问于 2018-03-20 13:44:05
回答 1查看 324关注 0票数 0

我最近一直在使用python和pyqt进行UI设计。目前,我正在创建一个弹出式屏幕中,用户将选择他们的名字,点击登录,以进一步使用任何应用程序。我的目标是将用户登录的历史记录存储为一个集合(可能是一个列表),以便进一步维护。分享弹出屏幕相关的基本代码。

代码语言:javascript
复制
import sys

from PyQt4.QtGui import *
from PyQt4.QtCore import *

class Login(QDialog):
    def __init__(self, parent=None):

        self.contributors=['','A','B','C']
        super(Login, self).__init__(parent)
        self.nameLabel=QLabel(self)
        self.nameLabel.setText("Select Your name")
        self.nameLabel.setAlignment(Qt.AlignHCenter)
        self.cb=QComboBox(self)
        self.cb.setGeometry(QRect(40,40,491, 31))
        self.cb.setObjectName(("comboBox"))
        self.cb.addItems(self.contributors)
        self.cb.currentIndexChanged.connect(self.getEditor)
        self.buttonLogin = QPushButton('Login', self)
        self.buttonLogin.clicked.connect(self.close)
        layout = QVBoxLayout(self)
        layout.addWidget(self.nameLabel)
        layout.addWidget(self.cb)
        layout.addWidget(self.buttonLogin)
        self.resize(600,150)    
        self.exec_()

    def getEditor(self):
        text=str(self.cb.currentText()) 
        return text

if __name__ == '__main__':
    app = QApplication(sys.argv)
    login=Login()

目前,我正在存储一个文本文件,其中包含从组合框中选择的所有名称,并对其进行操作。有没有一种更干净的方法来获取使用该工具的用户列表?我正在尝试避免创建额外的文本文件。

任何帮助都是受欢迎的。我不能通过搜索得到相关的答案。如果此问题已得到回答,请将我引向该链接。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-03-21 21:30:34

在"a+“方法中打开一个文件意味着,如果具有指定名称的文件存在,则向该文件追加文本,如果该特定文件不存在,则创建一个具有该名称的文件。

代码语言:javascript
复制
class Login(QDialog):
    def __init__(self, parent=None):

        self.contributors=['','A','B','C']
        super(Login, self).__init__(parent)

        ...

        self.buttonLogin = QPushButton('Login', self)
        self.buttonLogin.clicked.connect(self.user_entered)

        ...

    def user_entered(self):
        text = str(self.cb.currentText())
        with open("my log file", "a+") as file:  # wirting user name into a file
            file.write(text + "\n")
        self.close()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    login=Login()
    login.show()
    app.exec_()  # delete the exec_() call in your window __init__
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49377049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档