文章目录
- Preface
- 解决方法
- 问题1:
- 问题2: **tk.Tk()** 这里的 `Tk` 的 `k` 是小写
- 错误信息 ~~并没有什么实际作用/提示~~
Preface
最近刚开始学习用python 的时候遇到一个对于我这样的新手来说比较棘手的问题. 我查询了好久, 大多数给出的答案就是代码写错了
而且是不给错误行数的那种.😵💫
查询了很久都没找到一个靠谱的解决方案, 干脆自己来排除哪里的问题; 我就一个一个代码块的去试毒, 果然被我找到了. 原来是 tkinter
在捣鬼
然后我又开始查询各种 tkinter 的用法, 确实找到不少, 但是都不能解决问题,
因为他们的教程都只是这这几行
from tkinter import *
import tkinter * as tk
# 然后还有这两行
root = tk.Tk()
root.withdraw()
我觉得我也妹写错啊, 尝试各种方式没有解决. 我就跑去官网看文档;
解决方法
这是官方的文档
问题1:
对比了一下, 唯一的区别就是, 我把代码放到了。startup
里面 官网例子在 外面放着
于是我就改用了官网的写法, 把 tk 初始化放在了 class 外面, 果然把问题解决了;
除了这个问题外还要注意一个问题;
问题2: tk.Tk() 这里的 Tk
的 k
是小写
错误信息 并没有什么实际作用/提示
2022-12-15 17:26:02.190 Python[6278:18183396] -[NSApplication macOSVersion]: unrecognized selector sent to instance 0x7fd7e0b5a270
2022-12-15 17:26:02.191 Python[6278:18183396] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSApplication macOSVersion]: unrecognized selector sent to instance 0x7fd7e0b5a270'
*** First throw call stack:
(
0 CoreFoundation 0x00007ff80e0357c3 __exceptionPreprocess + 242
1 libobjc.A.dylib 0x00007ff80dd95bc3 objc_exception_throw + 48
2 CoreFoundation 0x00007ff80e0ba36b -[NSObject(NSObject) __retain_OA] + 0
3 CoreFoundation 0x00007ff80df9c515 ___forwarding___ + 1356
4 CoreFoundation 0x00007ff80df9bf38 _CF_forwarding_prep_0 + 120
5 libtk8.6.dylib 0x000000010765cb24 GetRGBA + 50
6 libtk8.6.dylib 0x000000010765c5e9 SetCGColorComponents + 140
7 libtk8.6.dylib 0x000000010765c952 TkpGetColor + 325
8 libtk8.6.dylib 0x00000001075bc09d Tk_GetColor + 143
9 libtk8.6.dylib 0x00000001075af002 Tk_Get3DBorder + 118
10 libtk8.6.dylib 0x00000001075aee8a Tk_Alloc3DBorderFromObj + 127
11 libtk8.6.dylib 0x00000001075bd3a0 DoObjConfig + 986
12 libtk8.6.dylib 0x00000001075bceae Tk_InitOptions + 333
13 libtk8.6.dylib 0x00000001075bcda6 Tk_InitOptions + 69
14 libtk8.6.dylib 0x00000001075e4931 CreateFrame + 1550
15 libtk8.6.dylib 0x00000001075e4bb5 TkListCreateFrame + 137
16 libtk8.6.dylib 0x00000001075dd40c Initialize + 2002
17 _tkinter.cpython-39-darwin.so 0x000000010704ed44 Tcl_AppInit + 84
18 _tkinter.cpython-39-darwin.so 0x000000010704963a Tkapp_New + 602
19 _tkinter.cpython-39-darwin.so 0x0000000107048f61 _tkinter_create + 561
20 Python 0x0000000106401c7f cfunction_vectorcall_FASTCALL + 91
21 Python 0x00000001064abe0d call_function + 168
22 Python 0x00000001064a5851 _PyEval_EvalFrameDefault + 26206
23 Python 0x000000010649e06e _PyEval_EvalCode + 398
24 Python 0x00000001063b6304 _PyFunction_Vectorcall + 413
25 Python 0x00000001063b5a30 _PyObject_FastCallDictTstate + 87
26 Python 0x00000001064248bb slot_tp_init + 192
27 Python 0x0000000106429d04 type_call + 272
28 Python 0x00000001063b5832 _PyObject_MakeTpCall + 127
29 Python 0x00000001064abe7c call_function + 279
30 Python 0x00000001064a5851 _PyEval_EvalFrameDefault + 26206
31 Python 0x00000001063b6228 _PyFunction_Vectorcall + 193
32 Python 0x00000001064abe0d call_function + 168
33 Python 0x00000001064a46e5 _PyEval_EvalFrameDefault + 21746
34 Python 0x000000010649e06e _PyEval_EvalCode + 398
35 Python 0x00000001063b6304 _PyFunction_Vectorcall + 413
36 Python 0x00000001064abe0d call_function + 168
37 Python 0x00000001064a46e5 _PyEval_EvalFrameDefault + 21746
38 Python 0x00000001063b6228 _PyFunction_Vectorcall + 193
39 Python 0x00000001064abe0d call_function + 168
40 Python 0x00000001064a46e5 _PyEval_EvalFrameDefault + 21746
41 Python 0x00000001063b6228 _PyFunction_Vectorcall + 193
42 Python 0x00000001064abe0d call_function + 168
43 Python 0x00000001064a46e5 _PyEval_EvalFrameDefault + 21746
44 Python 0x000000010649e06e _PyEval_EvalCode + 398
45 Python 0x0000000106498e7f builtin_exec + 379
46 Python 0x0000000106401c7f cfunction_vectorcall_FASTCALL + 91
47 Python 0x00000001064abe0d call_function + 168
48 Python 0x00000001064a3d02 _PyEval_EvalFrameDefault + 19215
49 Python 0x000000010649e06e _PyEval_EvalCode + 398
50 Python 0x00000001063b6304 _PyFunction_Vectorcall + 413
51 Python 0x00000001064abe0d call_function + 168
52 Python 0x00000001064a3d02 _PyEval_EvalFrameDefault + 19215
53 Python 0x000000010649e06e _PyEval_EvalCode + 398
54 Python 0x00000001063b6304 _PyFunction_Vectorcall + 413
55 Python 0x00000001064abe0d call_function + 168
56 Python 0x00000001064a3d02 _PyEval_EvalFrameDefault + 19215
57 Python 0x000000010649e06e _PyEval_EvalCode + 398
58 Python 0x00000001063b6304 _PyFunction_Vectorcall + 413
59 Python 0x00000001064abe0d call_function + 168
60 Python 0x00000001064a3db1 _PyEval_EvalFrameDefault + 19390
61 Python 0x000000010649e06e _PyEval_EvalCode + 398
62 Python 0x00000001064f9092 run_eval_code_obj + 128
63 Python 0x00000001064f8fea run_mod + 96
64 Python 0x00000001064f9cdb PyRun_StringFlags + 140
65 Python 0x00000001064f9c17 PyRun_SimpleStringFlags + 69
66 Python 0x0000000106515174 Py_RunMain + 404
67 Python 0x000000010651671c Py_BytesMain + 42
68 dyld 0x000000010936f52e start + 462
)
libc++abi: terminating with uncaught exception of type NSException