首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Python guidata windows modality?

Python guidata windows modality?
EN

Stack Overflow用户
提问于 2015-02-26 21:07:44
回答 1查看 363关注 0票数 0

我使用python guidata ( https://code.google.com/p/guidata/ )包来获取用户输入。问题是gui窗口没有出现在顶部。它会隐藏在其他窗口下。我认为应该有一些windows模式的论点,我可以通过。我就是找不到。我不确定它是否相关,但我没有直接运行python脚本,我运行的基本上是一个bat文件,它运行

代码语言:javascript
运行
复制
python.exe myscript.py

我希望窗口出现在顶部(首选)或窗口是模式(下一个最好的解决方案)

稍后添加:为了给出示例代码,我只是从guidata网站粘贴了一个示例。我的代码多多少少是相似的

代码语言:javascript
运行
复制
import guidata
_app = guidata.qapplication() # not required if a QApplication has already been created

import guidata.dataset.datatypes as dt
import guidata.dataset.dataitems as di

class Processing(dt.DataSet):
    """Example"""
    a = di.FloatItem("Parameter #1", default=2.3)
    b = di.IntItem("Parameter #2", min=0, max=10, default=5)
    type = di.ChoiceItem("Processing algorithm",
                         ("type 1", "type 2", "type 3"))

param = Processing()
param.edit()

行param.edit()显示gui,但不在顶部。

EN

回答 1

Stack Overflow用户

发布于 2015-02-26 21:16:54

来自the docsthis answer

代码语言:javascript
运行
复制
from guidata.qt.QtGui import QMainWindow, QSplitter
# snip a lot of code
class MainWindow(QMainWindow):
    def __init__(self):
        QMainWindow.__init__(self)
# more snipping

if __name__ == '__main__':
    from guidata.qt.QtGui import QApplication
    import sys
    app = QApplication(sys.argv)
    window = MainWindow()
    window.show()
    # these two lines presumably will bring the window to the front
    window.setWindowState(window.windowState() & ~QtCore.Qt.WindowMinimized | QtCore.Qt.WindowActive)

    # this will activate the window
    window.activateWindow()
    sys.exit(app.exec_())

我不确定是否需要这些额外的代码行--我不熟悉PyQT,但看起来应该可以完成您想要的工作。

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

https://stackoverflow.com/questions/28743321

复制
相关文章

相似问题

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