Pycharm无法正常运行脚本,而是在脚本中运行“ unittests”

w

我使用Pycharm Community Edition 3.4.1,我想运行wxpython的演示文件“ Dialog.py”。当我使用IDLE运行此脚本时,它运行正常。但是,当我尝试使用Pycharm运行它时,它不会像在IDLE中那样运行,而是尝试在脚本中运行“ unittests”(我不知道什么是unittest):

在此处输入图片说明

脚本是:

import  wx

#---------------------------------------------------------------------------
# Create and set a help provider.  Normally you would do this in
# the app's OnInit as it must be done before any SetHelpText calls.
provider = wx.SimpleHelpProvider()
wx.HelpProvider.Set(provider)

#---------------------------------------------------------------------------

class TestDialog(wx.Dialog):
    def __init__(
            self, parent, ID, title, size=wx.DefaultSize, pos=wx.DefaultPosition, 
            style=wx.DEFAULT_DIALOG_STYLE,
            useMetal=False,
            ):

        # Instead of calling wx.Dialog.__init__ we precreate the dialog
        # so we can set an extra style that must be set before
        # creation, and then we create the GUI object using the Create
        # method.
        pre = wx.PreDialog()
        pre.SetExtraStyle(wx.DIALOG_EX_CONTEXTHELP)
        pre.Create(parent, ID, title, pos, size, style)

        # This next step is the most important, it turns this Python
        # object into the real wrapper of the dialog (instead of pre)
        # as far as the wxPython extension is concerned.
        self.PostCreate(pre)

        # This extra style can be set after the UI object has been created.
        if 'wxMac' in wx.PlatformInfo and useMetal:
            self.SetExtraStyle(wx.DIALOG_EX_METAL)


        # Now continue with the normal construction of the dialog
        # contents
        sizer = wx.BoxSizer(wx.VERTICAL)

        label = wx.StaticText(self, -1, "This is a wx.Dialog")
        label.SetHelpText("This is the help text for the label")
        sizer.Add(label, 0, wx.ALIGN_CENTRE|wx.ALL, 5)

        box = wx.BoxSizer(wx.HORIZONTAL)

        label = wx.StaticText(self, -1, "Field #1:")
        label.SetHelpText("This is the help text for the label")
        box.Add(label, 0, wx.ALIGN_CENTRE|wx.ALL, 5)

        text = wx.TextCtrl(self, -1, "", size=(80,-1))
        text.SetHelpText("Here's some help text for field #1")
        box.Add(text, 1, wx.ALIGN_CENTRE|wx.ALL, 5)

        sizer.Add(box, 0, wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5)

        box = wx.BoxSizer(wx.HORIZONTAL)

        label = wx.StaticText(self, -1, "Field #2:")
        label.SetHelpText("This is the help text for the label")
        box.Add(label, 0, wx.ALIGN_CENTRE|wx.ALL, 5)

        text = wx.TextCtrl(self, -1, "", size=(80,-1))
        text.SetHelpText("Here's some help text for field #2")
        box.Add(text, 1, wx.ALIGN_CENTRE|wx.ALL, 5)

        sizer.Add(box, 0, wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5)

        line = wx.StaticLine(self, -1, size=(20,-1), style=wx.LI_HORIZONTAL)
        sizer.Add(line, 0, wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.RIGHT|wx.TOP, 5)

        btnsizer = wx.StdDialogButtonSizer()

        if wx.Platform != "__WXMSW__":
            btn = wx.ContextHelpButton(self)
            btnsizer.AddButton(btn)

        btn = wx.Button(self, wx.ID_OK)
        btn.SetHelpText("The OK button completes the dialog")
        btn.SetDefault()
        btnsizer.AddButton(btn)

        btn = wx.Button(self, wx.ID_CANCEL)
        btn.SetHelpText("The Cancel button cancels the dialog. (Cool, huh?)")
        btnsizer.AddButton(btn)
        btnsizer.Realize()

        sizer.Add(btnsizer, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5)

        self.SetSizer(sizer)
        sizer.Fit(self)

#---------------------------------------------------------------------------

class TestPanel(wx.Panel):
    def __init__(self, parent, log):
        self.log = log
        wx.Panel.__init__(self, parent, -1)

        b = wx.Button(self, -1, "Create and Show a custom Dialog", (50,50))
        self.Bind(wx.EVT_BUTTON, self.OnButton, b)

        if 'wxMac' in wx.PlatformInfo:
            self.cb = wx.CheckBox(self, -1, "Set Metal appearance", (50,90))


    def OnButton(self, evt):
        useMetal = False
        if 'wxMac' in wx.PlatformInfo:
            useMetal = self.cb.IsChecked()

        dlg = TestDialog(self, -1, "Sample Dialog", size=(350, 200),
                         #style=wx.CAPTION | wx.SYSTEM_MENU | wx.THICK_FRAME,
                         style=wx.DEFAULT_DIALOG_STYLE, # & ~wx.CLOSE_BOX,
                         useMetal=useMetal,
                         )
        dlg.CenterOnScreen()

        # this does not return until the dialog is closed.
        val = dlg.ShowModal()

        if val == wx.ID_OK:
            self.log.WriteText("You pressed OK\n")
        else:
            self.log.WriteText("You pressed Cancel\n")

        dlg.Destroy()


#---------------------------------------------------------------------------


def runTest(frame, nb, log):
    win = TestPanel(nb, log)
    return win


#---------------------------------------------------------------------------


overview = """\
wxPython offers quite a few general purpose dialogs for useful data input from
the user; they are all based on the wx.Dialog class, which you can also subclass
to create custom dialogs to suit your needs.

The Dialog class, in addition to dialog-like behaviors, also supports the full
wxWindows layout featureset, which means that you can incorporate sizers or
layout constraints as needed to achieve the look and feel desired. It even supports
context-sensitive help, which is illustrated in this example.

The example is very simple; in real world situations, a dialog that had input
fields such as this would no doubt be required to deliver those values back to
the calling function. The Dialog class supports data retrieval in this manner.
<b>However, the data must be retrieved prior to the dialog being destroyed.</b>
The example shown here is <i>modal</i>; non-modal dialogs are possible as well.

See the documentation for the <code>Dialog</code> class for more details.

"""

if __name__ == '__main__':
    import sys,os
    import run
    run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])

如何像使用IDLE一样使用Pycharm运行此文件?

用户名

在PyCharm中,右键单击您编写的区域:

if __name__ == '__main__':

这将显示正常的“运行对话框”选项。保存此配置以备将来使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

UnitTests中的SerializationExceptions

来自分类Dev

无法比较UnitTests中的列表

来自分类Dev

在python中运行unittests \集成测试

来自分类Dev

django unittests中的原始sql查询

来自分类Dev

在UnitTests中模拟Django Commands类变量

来自分类Dev

如何使用脚本将python 3 unittests拆分为单独的文件以控制运行哪个文件?

来自分类Dev

无法运行脚本

来自分类Dev

无法运行脚本

来自分类Dev

在gradlew中运行但在Android Studio中不运行时,unitTests.returnDefaultValues可以工作

来自分类Dev

无法在unitTests No-XML Spring中加载ApplicationContext

来自分类Dev

python unittests中的Neo4j ImpermanentDatabase

来自分类Dev

javascript unittests jest库中是否有assertCountEqual等效项?

来自分类Dev

将所有应用程序负载包括在UnitTests中

来自分类Dev

使用at命令运行脚本无法完全正常运行

来自分类Dev

crontab 无法运行脚本?

来自分类Dev

Python:无法在 PyCharm 之外运行脚本 (ImportError)

来自分类Dev

无法使用jQuery的Waypoint正常工作(无法在html中运行脚本)

来自分类常见问题

在Dockerfile中运行脚本

来自分类Dev

在Chrome中运行脚本

来自分类Dev

在 Dockerfile 中运行脚本

来自分类Dev

我可以使用Moq集成访问UnitTests中Autofac的全部功能吗

来自分类Dev

无法从我自己的程序包中运行脚本

来自分类Dev

无法使用vim中的fzf运行脚本

来自分类Dev

无法从我自己的程序包中运行脚本

来自分类Dev

无法让脚本在 Pycharm 上运行

来自分类Dev

appspec.yml无法运行脚本

来自分类Dev

Python无法在包内运行脚本

来自分类Dev

启动时无法运行脚本

来自分类Dev

无法使用udev规则运行脚本