我正在尝试创建一个程序,根据以前的颜色,在点击时将对象颜色从白色变为黑色或从白色变为黑色.我希望程序只在对象是矩形时才改变颜色.我怎样才能做到这一点?
这是我的代码:
import tkinter as tk
root = tk.Tk()
cv = tk.Canvas(root, height=800, width=800)
cv.pack()
def onclick(event):
item = cv.find_closest(event.x, event.y)
current_color = cv.itemcget(item, 'fill')
if current_color == 'black':
cv.itemconfig(item, fill='white')
else:
cv.itemconfig(item, fill='black')
cv.bind('<Button-1>', onclick)
cv.create_line(50, 50, 60, 60, width=2)
cv. create_rectangle(80, 80, 100, 100)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
在此代码中,程序会更改任何对象的填充颜色.我希望它只为矩形改变它.
谢谢您的帮助.
我有一个Angular 2页面,它有这种类型的路由模型:
const routes: Routes = [
{ path: '', pathMatch: 'prefix', redirectTo: 'announcement' },
{ path: 'announcement', component: AnnouncementComponent },
{ path: 'important-documents', component: ImportantDocumentsComponent },
{ path: 'reservations-and-orders', component: ReservationsAndOrdersComponent},
{ path: 'contact', component: ContactComponent },
{ path: '**', redirectTo: 'announcement'}
];
Run Code Online (Sandbox Code Playgroud)
当我在我的ImportantDocumentsComponent中打开一个pdf文件,之后尝试通过按浏览器中的后退按钮返回上一页时出现问题.该页面通知我在此服务器中找不到请求的URL.我认为这是因为实际上角度页面只有一个URL,浏览器正在尝试加载页面url + path.我以为我可以解决这个问题:
{ path: '**', redirectTo: 'announcement'}
Run Code Online (Sandbox Code Playgroud)
但它似乎没有做到这一点.
我想知道如何防止这种类型的url错误发生,以便浏览器在返回时重定向到正确的url.
先谢谢了.