我想获得画布中绘制的项目的填充颜色或任何其他属性 在tkinter。
def createWidgets(self):
self.canvas_1= tk.Canvas(self, bg='#FAFAFA',selectforeground='#BBDEFB');
i=self.canvas_1.create_rectangle((self.canvas_1.winfo_reqwidth()/2)+100,
(self.canvas_1.winfo_reqheight()/2)+50,
(self.canvas_1.winfo_reqwidth()/2)+150,
(self.canvas_1.winfo_reqheight()/2)+100,
fill='#FF4081',width=0)
self.canvas_1.grid();
color= #want to access the fill color of item i using some getter functions.
答案 0 :(得分:4)
答案 1 :(得分:0)
这里有一个关于如何获得矩形填充颜色的小例子......
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# test_tkinter_get_config.py
#
# Copyright 2015 John Coppens <john@jcoppens.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
#
#
import Tkinter as Tk
def main(args):
tk = Tk.Tk()
canvas_1 = Tk.Canvas(bg='#FAFAFA', selectforeground='#BBDEFB');
i = canvas_1.create_rectangle((canvas_1.winfo_reqwidth()/2)+100,
(canvas_1.winfo_reqheight()/2)+50,
(canvas_1.winfo_reqwidth()/2)+150,
(canvas_1.winfo_reqheight()/2)+100,
fill = '#FF4081', width = 0)
canvas_1.grid();
#color =
print(canvas_1.itemcget(i, "fill"))
return 0
if __name__ == '__main__':
import sys
sys.exit(main(sys.argv))