首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从PyQt5 QDialog获取更改的数据

从PyQt5 QDialog获取更改的数据
EN

Stack Overflow用户
提问于 2017-12-08 00:23:47
回答 0查看 258关注 0票数 2

我得到了一个配置对话框,其中预先填充了存储在cfg中的现有选项。当用户单击“保存”(或等效项)时,我需要从QLineEdit对象中获取新值。只是我搞不懂这一点。我从昨天晚上开始就一直在搜索和测试,直到我再次屈膝来到这里。下面是我的对话框代码(窗体来自Qt Designer,这就是为什么没有GUI代码):

代码语言:javascript
复制
class Config(QDialog):
    def __init__(self):
        super(Config, self).__init__()

        popup = QDialog()
        config_ui = configform()
        config_ui.setupUi(popup)

        config_ui.programver.setText(cfg['config']['programver'])

        if cfg['config']['dummycopy']:
            config_ui.democheck.setChecked(True)

        config_ui.tmdbAPIkey.setText(cfg['config']['TMDB_KEY'])
        config_ui.tvdbAPIkey.setText(cfg['config']['TVDB_KEY'])
        config_ui.tvdbUserkey.setText(cfg['config']['TVDB_USERKEY'])

        theme = cfg['config']['theme']

        if theme == "blue":
            config_ui.bluebutton.setChecked(True)
        elif theme == "yellow":
            config_ui.yellowbutton.setChecked(True)
        elif theme == "light":
            config_ui.lightmetalbutton.setChecked(True)
        elif theme == "dark":
            config_ui.darkmetalbutton.setChecked(True)

        programversion = config_ui.programver.text()

        config_ui.savebutton.clicked.connect(lambda: Config.save(self, programversion))

        popup.exec_()


    def save(self, programversion):
        QDialog.close(self)
        print(programversion)

我需要一些伏都教才能到达改变过的地方。我现在所能得到的是对话框被赋予生命时的原始值。这有什么窍门吗?我不可能是第一个尝试预先填充对话框的人。我发誓我已经尝试了所有可用的button和buttonBox变体的组合。

我在想,也许有一些方法可以隐藏对话框,抓取数据,然后销毁对话框?不管怎样,这是一个可行的理论。

提前谢谢。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47699451

复制
相关文章

相似问题

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