python3.6 TypeError: __init__() got an unexpected keyword argument 'text' 错误的本地解决方法

       今天在用python3.6绘制图线过程中,想使用tkinter库制作简单的交互界面。然后把以前写过的类似代码直接复制到绘制图线的代码中,突然报错:

Traceback (most recent call last):
  File "D:/important application/Python/pycharm/TrafficDataProcess/CorrelationAnalyse.py", line 239, in <module>
    app = Application(root)
  File "D:/important application/Python/pycharm/TrafficDataProcess/CorrelationAnalyse.py", line 183, in __init__
    self.yellow_button = Button(self, text='路段表格输出', command=space_cal)
TypeError: __init__() got an unexpected keyword argument 'text'

       按照错误提示,应该是说tkinter的button不应该带有text参数。但是之前单独使用tkinter库的时候,带了text参数,没有任何问题,程序也可以正常运行,怎么把原来的代码复制到绘制图线的代码中,就报错了呢?于是,我对代码中的语句一句一句进行检查。终于发现,问题出在了下面这句话:

from pylab import *

       把这句话注释掉,并且换用matplotlib.pyplot,并且将源代码中的ploy,figure修改成plt.plot,plt.figure即可正常运行。

       感觉这个错误可能是pylab和tkinter库产生冲突所致。对于错误的详细原因和内部原理,没有深度挖掘。如果有大佬知道错误的详细原因和内部原理,欢迎交流讨论。

       上述方法可能只适用于我当前电脑的python环境,若不适用于你的环境,请继续进行分析排错。

 
发布了11 篇原创文章 · 获赞 3 · 访问量 1842

猜你喜欢

转载自blog.csdn.net/qq_36712997/article/details/89186730