Canvas widgetim ətrafındakı açıq boz çərçivəni necə çıxarmaq olar?

Tsetter Canvas widget'ları ilə mən artıq estetik cəhətdən cəlbedici widgetlar edə biləcəyimi görmüşəm və bir neçə sualım var.

Birincisi, mənim Canvas widgetim ətrafındakı açıq gri bir sərhəd niyə var və bundan necə qurtarmaq olar?

İkincisi, niyə tünddə üst sol mövqe (2.2)? Göründüyü kimi olmalıdır (0,0).

Mövcud cədvəlim:

 from Tkinter import * master = Tk() master.configure(bg='black') master.wm_attributes("-topmost", 1) w = Canvas(master, width=150, height=40, bd=0,relief='ridge',) w.pack() color = 100 x0 = 2 y0 = 2 x1 = 151 y1 = 2 while y0 < 20 : r = color g = color b = color rgb = r, g, b Hex = '#%02x%02x%02x' % rgb w.create_line(x0, y0, x1, y1,fill=str(Hex), width=1) color = color - 2 y0 = y0 + 1 y1 = y1 + 1 color = 10 while y0 < 40 : r = color g = color b = color rgb = r, g, b Hex = '#%02x%02x%02x' % rgb w.create_line(x0, y0, x1, y1,fill=str(Hex), width=1) color = color + 4 y0 = y0 + 1 y1 = y1 + 1 mainloop() 
27
30 нояб. rectangletangle 30 nov seçin. 2010-11-30 07:20 '10 at 7:20 2010-11-30 07:20
@ 2 cavablar

Bölmə 6.8 Niyə tuval 0.0-dən başlayır? Tk istifadə haqqında tez-tez verilən suallar hadisəni təsvir edir.

Sərhəd əsərini yayımlanan mənbədə bir neçə dəyişikliklə aradan qaldırdım ...

Değiştir:

 w = Canvas(master, width=150, height=40, bd=0, relief='ridge') w.pack() 

in

 w = Canvas(master, width=150, height=40, bd=0, highlightthickness=0, relief='ridge') w.pack() 

və bu:

 x0 = 2 y0 = 2 x1 = 151 y1 = 2 

in

 x0 = 0 y0 = 0 x1 = 150 y1 = 0 

Maraqlıdır ki, "borderwidth" təsir etməyib, amma FAQ-da buraxdım.

w.config() təsdiqlədikdən dərhal sonra w.config() göstərdi ki, default dəyərlər highlightthickness2 border width üçün 0 olduğunu göstərdi.

33
30 нояб. Cavab TP 30 noyabrda verilir. 2010-11-30 09:31 '10 saat 09:31 'da 2010-11-30 09:31

Qısa cavab: Canvas kənarları təsir edən iki komponentə malikdir: sərhəd (sərhəd borderwidth ) atributu və əhəmiyyətli seçim zolağı.

Bir kvadrat eni və sıfır arxa işıq qalınlığı varsa, kətan koordinatları 0.0-dən başlayacaq. Əks təqdirdə, bu iki element kvant koordinatını pozur.

border=0

Mən çox vaxt bu xüsusiyyətləri sıfıra qoyuram. Sonra həqiqətən sərhəd istəyirsənsə, bu kətanı çərçivənin içərisinə qoyacağam və çərçivəni bir çərçivə verəcəyəm.

11
30 нояб. cavabı noyabrın 30-da Bryan Oakley tərəfindən verilir 2010-11-30 14:58 '10 at 14:58 2010-11-30 14:58