Python_huangjiaw 2022-03-01 23:21 采纳率: 93.3%
浏览 94
已结题

程序可以正常执行,但是好像报错了

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
'''canvas画布'''

from tkinter import *

import random

class Application(Frame):
    def __init__(self,master=None):
        super().__init__(master)
        self.master=master
        self.pack()
        self.createWidget()

    def createWidget(self):
        self.canvas=Canvas(self,width=300,height=200,bg='green')
        self.canvas.pack()
        #画直线
        line=self.canvas.create_line(10,10,30,20,40,50)
        #画矩形
        rect=self.canvas.create_rectangle(50,50,100,100)
        #画椭圆,两对坐标,分别为其外界矩形的左上角和右下角的点
        oval=self.canvas.create_oval(50,50,100,100)

        global photo
        photo=PhotoImage(file='04.gif')
        self.canvas.create_image(150,170,image=photo)

        Button(self,text='画10个矩形',command=self.draw50Recg).pack(side='left')

    def draw50Recg(self):
        for i in range(0,10):
            x1=random.randrange(int(self.canvas['width'])/2)
            y1=random.randrange(int(self.canvas['height'])/2)
            x2=x1+random.randrange(int(self.canvas['width'])/2)
            y2=y1+random.randrange(int(self.canvas['height'])/2)
            self.canvas.create_rectangle(x1,y1,x2,y2)


if __name__ == '__main__':
    root = Tk()
    root.geometry('400x230+200+300')
    app = Application(master=root)
    root.mainloop()

运行结果及报错内容

```python
"C:\Program Files\python\python.exe" D:/pythonProject/gui/my08.py
D:\pythonProject\gui\my08.py:32: DeprecationWarning: non-integer arguments to randrange() have been deprecated since Python 3.10 and will be removed in a subsequent version
  x1=random.randrange(int(self.canvas['width'])/2)
D:\pythonProject\gui\my08.py:33: DeprecationWarning: non-integer arguments to randrange() have been deprecated since Python 3.10 and will be removed in a subsequent version
  y1=random.randrange(int(self.canvas['height'])/2)
D:\pythonProject\gui\my08.py:34: DeprecationWarning: non-integer arguments to randrange() have been deprecated since Python 3.10 and will be removed in a subsequent version
  x2=x1+random.randrange(int(self.canvas['width'])/2)
D:\pythonProject\gui\my08.py:35: DeprecationWarning: non-integer arguments to randrange() have been deprecated since Python 3.10 and will be removed in a subsequent version
  y2=y1+random.randrange(int(self.canvas['height'])/2)

Process finished with exit code 0





![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/925390841646119.png "#left")
  • 写回答

1条回答 默认 最新

  • 於黾 2022-03-02 08:04
    关注

    不是报错,是警告
    告诉你randrange这个函数,从3.10开始不支持了,但是目前只是警告,还能执行,下个版本就彻底删除了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月10日
  • 已采纳回答 3月2日
  • 创建了问题 3月1日

悬赏问题

  • ¥15 2024-五一综合模拟赛
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭