python interactive window_如果PySide应用程序是从IPython interactive cons运行的,上下文菜单就会消失...

该博客文章讨论了一个使用PySide库创建GUI时遇到的问题,即在IPython (0.13.1) 控制台中启动应用程序时,上下文菜单会短暂显示后消失。问题仅在IPython环境下出现,而从shell正常启动时工作正常。文章提供了相关的代码示例,包括窗口和上下文菜单的设置,以及启动和事件循环的管理。
摘要由CSDN通过智能技术生成

在下面给出的最小示例中,上下文菜单(右键单击gui的白色部分)仅短暂显示,然后消失。如果应用程序是从IPython(0.13.1)控制台启动的,则会出现这种情况。当从shell正常启动时,它可以正常工作。在import sys

from PySide import QtGui, QtCore

from IPython.lib.guisupport import get_app_qt4, start_event_loop_qt4

class ContextTestGui(QtGui.QMainWindow):

def __init__(self):

QtGui.QMainWindow.__init__(self)

self.ui = Ui_ContextTestWindow()

self.ui.setupUi(self)

self.ui.treeView.addAction(self.ui.actionCopy)

self.ui.treeView.addAction(self.ui.actionShow)

class Ui_ContextTestWindow(object):

def setupUi(self, ContextTestWindow):

ContextTestWindow.resize(200, 100)

self.treeView = QtGui.QTreeView(ContextTestWindow)

self.treeView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)

self.treeView.setMinimumSize(QtCore.QSize(100, 100))

self.actionCopy = QtGui.QAction("Copy",ContextTestWindow)

self.actionShow = QtGui.QAction("Show",ContextTestWindow)

def create_window(window_class,**kwargs):

app = get_app_qt4(sys.argv)

window = window_class()

window.show()

start_event_loop_qt4(app)

return window

if __name__ == '__main__':

simgui = create_window(ContextTestGui)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值