【问题标题】:Integration issue with PyObjC and TKinterPyObjC 和 TKinter 的集成问题
【发布时间】:2011-08-12 15:31:40
【问题描述】:

以下简单代码:

from PyObjCTools import AppHelper
import AppKit
import Tkinter

class App(AppKit.NSApplication):

    def finishLaunching(self):
        self.root=Tkinter.Tk()

_=App.sharedApplication()
AppHelper.runEventLoop()

产生以下异常:Python[23717:d07] -[App _setup:]: unrecognized selector sent to instance 0x105d05340

我做错了什么?

【问题讨论】:

    标签: python macos tkinter pyobjc


    【解决方案1】:

    我认为您不能将 Tkinter 和 Cocoa 工具包如此互换地混合使用。 self.root 是类App 的一个属性,它继承自AppKit.NSApplication。我的猜测是Tk() 调用返回一个指针,然后将其传递给 Cocoa 框架,但指向它无法理解的 Tk 数据结构。此外,Tkinter 和 PyObjC 都需要自己的事件循环;我不确定您是否可以将两者混合使用(尽管我从未尝试过)。

    我的建议是使用一个 UI 工具包或另一个,但不能同时使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-14
      • 1970-01-01
      • 2016-08-17
      • 1970-01-01
      • 2017-04-27
      • 1970-01-01
      • 1970-01-01
      • 2018-07-28
      相关资源
      最近更新 更多