Tkinter Scrollbar Patterns

September 20, 2003 | Fredrik Lundh

Tkinter provides a number of scrollable widgets, but unlike many other toolkits, the widgets do not maintain their own scrollbars. To add a scrollbar to a scrollable widget, you have to create separate Scrollbar widget instances, and attach them to the widget. This article explains how the scrollbar interface works, and shows you how to add scrollbars to standard widgets.

The Scrollbar Interface #

In Tkinter, the scrollbar is a separate widget that can be attached to any widget that support the standard scrollbar interface. Such widgets include:

To attach a scrollbar to a scrolled widget, set the scrollbar’s command option to point to a method that will be called when the scrollbar is changed, and set the widget’s scroll command option to the scrollbar’s set method. This method is called by the widget when when the view is changed (for example, when new items are added, or the widget is resized).

In standard Tkinter, these methods and options have standard names; the scrollbar should call the widget’s xview or yview method when the scrollbar is changed, and the widgets provide xscrollcommand and yscrollcommand command options that are called when the scrollbar needs to be updated.

In the following example, a listbox containing 100 integers is equipped with a scrollbar:

Example: A listbox with a scrollbar
from Tkinter import *

root = Tk()

scrollbar = Scrollbar(root)
scrollbar.pack(side=RIGHT, fill=Y)

listbox = Listbox(root)
listbox.pack()

for i in range(100):
    listbox.insert(END, i)

# attach listbox to scrollbar
listbox.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=listbox.yview)

mainloop()

To watch the traffic between the listbox and the scrollbar, you can replace the Scrollbar and Listbox classes with versions that log the relevant method calls:

class DebugScrollbar(Scrollbar):
    def set(self, *args):
        print "SCROLLBAR SET", args
        Scrollbar.set(self, *args)

class DebugListbox(Listbox):
    def yview(self, *args):
        print "LISTBOX YVIEW", args
        Listbox.yview(self, *args)

scrollbar = DebugScrollbar()
scrollbar.pack(side=RIGHT, fill=Y)

listbox = DebugListbox(yscrollcommand=scrollbar.set)
listbox.pack()

scrollbar.config(command=listbox.yview)

When you run the example using these widgets, you’ll get a stream of SCROLLBAR and LISTBOX messages in the console window.

When the listbox is first displayed, the listbox calls the scrollbar to inform it about the current view (in this example, 10 out of 100 lines are displayed). The scrollbar calls back, telling the listbox that the scrollbar is in its topmost position:

SCROLLBAR SET ('0', '0.1')
LISTBOX YVIEW ('moveto', '0')

Note that all arguments are strings, and that the values are normalized to fit in the 0.0 to 1.0 range.

When you move the scrollbar thumb, the scrollbar sends moveto messages to the listbox. The listbox updates the view, and calls the scrollbar’s set method with the resulting values:

LISTBOX YVIEW ('moveto', '0.1041')
SCROLLBAR SET ('0.1', '0.2')
LISTBOX YVIEW ('moveto', '0.186')
SCROLLBAR SET ('0.19', '0.29')
LISTBOX YVIEW ('moveto', '0.3124')
SCROLLBAR SET ('0.31', '0.41')
LISTBOX YVIEW ('moveto', '0.4166')
SCROLLBAR SET ('0.42', '0.52')

Note that the listbox rounds the scrollbar value to the nearest full line.

If you click outside the scrollbar thumb, the scrollbar generates scroll events.

LISTBOX YVIEW ('scroll', '1', 'pages')
SCROLLBAR SET ('0.5', '0.6')
LISTBOX YVIEW ('scroll', '1', 'pages')
SCROLLBAR SET ('0.58', '0.68')
LISTBOX YVIEW ('scroll', '1', 'units')
SCROLLBAR SET ('0.59', '0.69')
LISTBOX YVIEW ('scroll', '1', 'units')
SCROLLBAR SET ('0.6', '0.7')

For scroll events, the scrollbar provides both a value and a unit, and it’s up to the listbox to interpret the units in a way that makes sense to the user. The value is usually -1 (scroll up/left) or 1 (scroll down/right), and the unit is either pages or units.

In a listbox, the basic unit is usually a single item, and a page is as many items that fit into the widget’s window. Other widgets may use different definitions.

Patterns #

Adding Scrollbars to Listbox Widgets #

We’ve already seen how to add scrollbars to a listbox widget, but here’s the relevant part again:

scrollbar = Scrollbar(master)
scrollbar.pack(side=RIGHT, fill=Y)

listbox = Listbox(master, yscrollcommand=scrollbar.set)
listbox.pack()

scrollbar.config(command=listbox.yview)

Note that this example uses pack to add the scrollbar and the listbox to the parent widget. This can get extremely tricky if you plan to add more than just a scrolled listbox to the parent; to solve this, you can either use grid to get the individual widgets in their right location, or pack the widgets into an extra frame, and use pack or grid to put the frame where you want it.

Another problem with the original example is that the scrollbar has no border, but the standard listbox is drawn with a “sunken” appearance. At least on Windows, things look a lot better if the listbox contents and the scrollbar are placed at the same level. In the following example, I’ve removed the border from the listbox (by setting the border width to zero), and added a border to the extra frame widget:

 
frame = Frame(root, bd=2, relief=SUNKEN)

scrollbar = Scrollbar(frame)
scrollbar.pack(side=RIGHT, fill=Y)

listbox = Listbox(frame, bd=0, yscrollcommand=scrollbar.set)
listbox.pack()

scrollbar.config(command=listbox.yview)

frame.pack()

The Listbox widget also supports horizontal scrolling. For examples, see the next section.

Adding Scrollbars to Text Widgets #

The Text widget implements the same scrollbar interface as the listbox; create the scrollbar, and attach it to the text widget by setting the appropriate options:

 
scrollbar = Scrollbar(master)
scrollbar.pack(side=RIGHT, fill=Y)

text = Text(master, wrap=WORD, yscrollcommand=scrollbar.set)
text.pack()

scrollbar.config(command=text.yview)

The wrap option controls how to handle long lines in the text widget. The default value is CHAR, which tells the widget that it’s okay to add line breaks between individual characters, for lines that are longer than the widget is wide. If you’re displaying text in the widget, it’s usually better to set the wrap option to WORD, like in the example above. This tells the widget to avoid breaking lines inside words.

You can also switch off line wrapping, by setting the wrap option to NONE. When you do, lines that are longer than the widget is wide will be truncated. To allow the user to display wide text, you can add a second, horizontal scrollbar:

xscrollbar = Scrollbar(master, orient=HORIZONTAL)
xscrollbar.pack(side=BOTTOM, fill=X)

yscrollbar = Scrollbar(master)
yscrollbar.pack(side=RIGHT, fill=Y)

text = Text(master, wrap=NONE,
            xscrollcommand=xscrollbar.set,
            yscrollcommand=yscrollbar.set)
text.pack()

xscrollbar.config(command=text.xview)
yscrollbar.config(command=text.yview)

Note that by using pack to display the widgets, you’ll end up with either a horizontal scrollbar that’s wider than the text widget, or a vertical scrollbar that’s taller than the text widget. You can probably get around this by packing a small frame in the lower left corner, and use additional frames to get the right grouping, but it’s easier to put everything in a separate frame, and use the grid manager to display the widgets:

frame = Frame(master, bd=2, relief=SUNKEN)

frame.grid_rowconfigure(0, weight=1)
frame.grid_columnconfigure(0, weight=1)

xscrollbar = Scrollbar(frame, orient=HORIZONTAL)
xscrollbar.grid(row=1, column=0, sticky=E+W)

yscrollbar = Scrollbar(frame)
yscrollbar.grid(row=0, column=1, sticky=N+S)

text = Text(frame, wrap=NONE, bd=0,
            xscrollcommand=xscrollbar.set,
            yscrollcommand=yscrollbar.set)

text.grid(row=0, column=0, sticky=N+S+E+W)

xscrollbar.config(command=text.xview)
yscrollbar.config(command=text.yview)

frame.pack()

Note the use of grid_rowconfigure and grid_columnconfigure. If you leave out those calls, the widget won’t behave properly if you pack the frame into an expanding parent; if the parent is made smaller, the scrollbars may disappear out of sight. If the parent is made larger, you’ll end up with lots of padding.

Adding Scrollbars to Canvas Widgets #

As expected, the Canvas widget also implements the standard scrollbar interface, but with a twist. Here’s an example:

frame = Frame(root, bd=2, relief=SUNKEN)

frame.grid_rowconfigure(0, weight=1)
frame.grid_columnconfigure(0, weight=1)

xscrollbar = Scrollbar(frame, orient=HORIZONTAL)
xscrollbar.grid(row=1, column=0, sticky=E+W)

yscrollbar = Scrollbar(frame)
yscrollbar.grid(row=0, column=1, sticky=N+S)

canvas = Canvas(frame, bd=0,
                xscrollcommand=xscrollbar.set,
                yscrollcommand=yscrollbar.set)

canvas.grid(row=0, column=0, sticky=N+S+E+W)

xscrollbar.config(command=canvas.xview)
yscrollbar.config(command=canvas.yview)

frame.pack()

If you leave it like this, you get a nice scrolling canvas, but the scrollbars do not behave like expected; the scrollbar thumbs stay small and centered no matter how you scroll around. The reason is that the canvas coordinate space is unbounded; at any time, you’re only seeing a very small fraction of the available coordinate space.

To fix this, you can tell the canvas to limit the scrolling to a given area. To do this, set the scrollregion option to a rectangle (given as a 4-tuple). For example, if you know that you’re going to draw things in a 1000x1000 area, you can set the scroll region when you create the canvas:

 
canvas = Canvas(frame, bd=0, scrollregion=(0, 0, 1000, 1000),
                xscrollcommand=xscrollbar.set,
                yscrollcommand=yscrollbar.set)

If you don’t know the scroll region until later, use the config method to update the region:

canvas.config(scrollregion=(left, top, right, bottom))

You can use the bbox method to get a bounding box for a given object, or a group of objects; canvas.bbox(ALL) returns the bounding box for all objects on the canvas:

canvas.config(scrollregion=canvas.bbox(ALL))

Patterns: A Scrolled Widget Helper

To be continued.

 
def Scrolled(_widget, _master, _mode='y', **options):
    frame = Frame(_master, bd=2, relief=SUNKEN)
    xscrollbar = yscrollbar = None
    if 'x' in _mode: xscrollbar = Scrollbar(frame, orient=HORIZONTAL)
    if 'y' in _mode: yscrollbar = Scrollbar(frame)
    if not options.has_key("bd"):
        options["bd"] = 0
    widget = _widget(frame, **options)
    ... grid the scrollbars and the widget ...
    return widget

widget = Scrolled(Listbox, master, ...options...)
widget = Scrolled(Text, master, ...options...)
widget = Scrolled(Canvas, master, 'xy', ...options...)
def ScrolledListbox(master, _mode='y', **options):
    return Scrolled(Listbox, master, _mode, **options)

def ScrolledText(master, _mode='y', **options):
    return Scrolled(Text, master, _mode, **options)

def ScrolledCanvas(master, _mode='xy', **options):
    return Scrolled(Canvas, master, _mode, **options)

widget = ScrolledListbox(master, ...options...)
widget = ScrolledText(master, ...options...)
widget = ScrolledCanvas(master, ...options...)
 

A Django site. rendered by a django application. hosted by webfaction.

avanafil
купить диплом института
https://originality-diplomx24.com
купить свидетельство о браке
https://originality-diploms24.com
купить диплом фармацевта
https://originality-diploma24.com
купить диплом техникума
https://originality-diploman24.com
купить диплом
https://originality-diplomans24.com
купить аттестат за 9 класс
https://originality-diplomik24.com
купить аттестат за 11 класс
https://originality-diplomix24.com
купить аттестат за 11 класс
https://originality-diplomas24.com
купить диплом в москве
https://originality-diplomiks24.com
купить диплом ссср
https://originality-diplomiki24.com
купить аттестат за 9 класс
купить диплом колледжа
ru-diplomirovan.com
купить диплом
www.ru-diplomirovany.com
купить диплом автомеханика
ru-diplomirovanay.com
купить диплом колледжа
http://www.ru-diplomirovannie.com
купить диплом техникума
www.rudiplomir.com
купить диплом врача
https://rudiplomirs.com
купить диплом колледжа
https://rudiplomira.com
купить диплом университета
http://www.rudiplomiry.com
купить диплом института
https://rudiplomiru.com
купить диплом кандидата наук
https://diplom-msk24.ru
купить диплом ссср
http://www.rudik-attestats365.com
где купить диплом
купить диплом магистра
https://premialnie-diploms24.com
купить диплом ссср
www.premialnie-diplomy24.com
купить дипломы о высшем
http://www.premialnie-diplomas24.com
купить аттестат
http://www.premialnie-diploman24.com
купить аттестат за 9 класс
http://www.premialnie-diplomx24.com
купить диплом о среднем специальном
premialnie-diplomix24.com
купить диплом вуза
https://premialnie-diplomik24.com
купить диплом в москве
premialnie-diplomans24.com
купить диплом бакалавра
originality-diplomix.com
купить диплом в москве
https://russiany-diplomx.com
купить диплом кандидата наук
http://www.russiany-diplomix.com
купить аттестат
https://premialnie-diplomx.com
купить диплом колледжа
http://www.premialnie-diplomix.com
купить аттестат за 9 класс
http://www.diplomx-asx.com
купить аттестат за 11 класс
www.diplomix-asx.com купить диплом о среднем образовании цена
купить свидетельство о браке
можно ли купить диплом вуза
купить диплом бакалавра
https://premialnie-diplomansy.com/купить-диплом-института/
купить дипломы о высшем
https://premialnie-diplomansy.com/купить-диплом-колледжа/
купить диплом
https://russiany-diplomans.com/attestat-9-klassov
купить диплом
https://russiany-diplomans.com/kupit-diplom-tehnikuma
купить свидетельство о браке
https://russiany-diplomans.com/srednee-spetsialnoe-obrazovanie
купить аттестат за 11 класс
http://lands-diploms.com/attestat-11-klassov.html http://lands-diploms.com/specialnosti/yurist.html http://lands-diploms.com/goroda/novosibirsk.html http://lands-diploms.com/goroda/omsk.html http://lands-diploms.com/goroda/tula.html
купить диплом техникума
http://radiploma.com/kupit-diplom-s-reestrom http://radiploma.com/kupit-attestat-11-klassov http://radiploma.com/kupit-diplom-o-vysshem-obrazovanii http://radiploma.com/kupit-diplom-kosmetologa
купить диплом бакалавра
http://rudiplomisty24.com/диплом-техникума rudiplomisty24.com/диплом-специалиста-российского-вуза http://www.rudiplomisty24.com/купить-диплом-пермь http://rudiplomisty24.com/купить-диплом-воронеж
купить диплом фармацевта
купить аттестат за 9 класс
http://www.diploman-dok.com
купить диплом института
https://diploman-doks.com
купить диплом о среднем специальном
https://diploman-doky.com
купить свидетельство о рождении
diploman-doku.com
купить диплом автомеханика
https://diplomy-servise.com
купить диплом магистра
www.education-ua.com/kupit-legalnyij-diplom-v-ukraine.html
купить дипломы о высшем
http://education-ua.com/attestat-diplom.html
купить диплом о среднем специальном
http://education-ua.com/zaporozhe.html
купить диплом врача
http://www.education-ua.com/kieve.html
купить диплом автомеханика
http://education-ua.com/odesse.html
купить диплом техникума
education-ua.com/summah.html
купить аттестат
www.education-ua.com/ternopole.html
купить аттестат за 11 класс
www.education-ua.com/diplom-o-mediczinskom-obrazovanii.html
купить диплом о среднем образовании
http://education-ua.com/diplom-vyisshee.html
купить диплом колледжа
www.education-ua.com/kupit-nastoyashhij-diplom-goznak.html
купить диплом нового образца
http://www.education-ua.com/
купить аттестат за 11 класс
www.education-ua.com/diplom-texnikuma-kolledzha.html
купить диплом магистра
http://www.education-ua.com/diplom-magistra-ukrainskogo-vuza.html
купить диплом автомеханика
http://education-ua.com/diplom-o-mediczinskom-obrazovanii.html
купить диплом врача
http://www.education-ua.com/diplom-medsestry.html
купить диплом
www.education-ua.com/diplom-nedorogo.html
купить диплом автомеханика
www.education-ua.com/kupit-diplom-novogo-obrazca.html
где купить диплом
http://education-ua.com/otzivi-pogelania.html
купить диплом бакалавра
http://education-ua.com/diplom-vyisshee.html
купить свидетельство о рождении
http://www.education-ua.com/diplom-uchilishha.html
купить диплом о среднем образовании
http://education-ua.com/diplom-s-registracziej.html
купить дипломы о высшем
http://www.education-ua.com/kupit-diplom-s-provodkoj-v-ukraine.html
купить диплом университета
http://www.education-ua.com/diplom-specialista-ukrainskogo-vuza.html
купить диплом
http://www.education-ua.com/diplom-uchilishha.html
купить диплом фармацевта
www.education-ua.com/kupit-diplom-sssr-na-nastoyashhem-blanke.html
купить диплом нового образца
education-ua.com/svidetelstvo-o-rozhdenii.html
купить диплом автомеханика
http://education-ua.com/svidetelstvo-o-smerti.html
купить диплом о среднем образовании
http://education-ua.com/svidetelstvo-o-brake.html
купить дипломы о высшем
http://education-ua.com/svidetelstvo-o-razvode.html диплом купить купить аттестат купить диплом запорожье купить диплом киев купить диплом одесса купить диплом сумы купить диплом тернополь купить диплом врача купить диплом вуза купить диплом высшее купить диплом гознак купить диплом института купить диплом колледжа купить диплом магистра купить диплом медицинского училища купить диплом медсестры купить диплом недорого купить диплом нового образца купить диплом отзывы купить диплом о высшем образовании купить диплом о среднем образовании купить диплом с занесением в реестр купить диплом с проводкой купить диплом специалиста купить диплом средне специального образования купить диплом ссср купить свидетельство о рождении купить свидетельство о смерти купить свидетельство о браке купить свидетельство о разводе http://rudiplomisty24.com/аттестат-11-классов https://diplomy-servise.com http://dipplomy.com http://www.diplomansy.com/diplom-spetsialista diplomansy.com/diplom-magistra diplomansy.com/kupit-diplom-s-reestrom www.diplomansy.com/diplom-tekhnikuma-ili-kolledzha http://www.diplomansy.com/kupit-diplom-o-srednem-obrazovanii www.diplomansy.com/kupit-diplom-v-gorode https://diplomansy.com/kupit-diplom-ekaterinburg https://diplomansy.com/kupit-diplom-kazan https://diplomansy.com/kupit-diplom-volgograd diplomansy.com/diplom-o-vysshem-obrazovanii www.diplomansy.com/diplom-magistra www.diplomansy.com/kupit-diplom-o-srednem-obrazovanii https://diplomansy.com/attestat-za-11-klass www.diplomansy.com/kupit-diplom-v-gorode www.diplomansy.com/kupit-diplom-novosibirsk www.diplomansy.com/kupit-diplom-ekaterinburg https://diplomansy.com/kupit-diplom-omsk www.diplomansy.com/kupit-diplom-chelyabinsk https://diplomansy.com/kupit-diplom-volgograd eonline-diploma.com/kupit-diplom-o-vysshem-obrazovanii-oficialno https://eonline-diploma.com eonline-diploma.com/kupit-diplom.-otzyvy https://eonline-diploma.com/diplom-o-vysshem-obrazovanii-nizhnij-tagil www.eonline-diploma.com/diplom-o-vysshem-obrazovanii-v-tule
купить диплом вуза
http://http://egpu.ru/ http://http://vina-net.ru/ http://cursovik.ru/ http://http://spravkipiter.ru/ www.alcoself.ru school625.ru http://http://moek-college.ru/ mmcmedclinic.ru http://intimvisit.ru/ http://med-pravo.ru/ moskva-medcentr.ru http://intim-72.ru/ http://http://razigrushki.ru/ www.dgartschool.ru www.ftbteam.ru http://sb26.ru/ https://originaly-dokuments.com/attestaty/attestat-za-9-klass http://www.originaly-dokuments.com/diplom-o-srednem-spetsialnom-obrazovanii https://originaly-dokuments.com/gorod/nizhnij-tagil https://originaly-dokuments.com/gorod/vologda www.originaly-dokuments.com/gorod/saratov www.originaly-dokuments.com/spetsialnosti/yurist www.originaly-dokuments.com/spetsialnosti/povar http://www.originaly-dokuments.com/gorod/krasnodar www.originaly-dokuments.com/attestaty/attestat-za-11-klass http://www.originaly-dokuments.com/gorod/ekaterinburg http://www.originaly-dokuments.com/attestaty originaly-dokuments.com/spetsialnosti/bukhgalter originaly-dokuments.com/gorod/omsk http://www.originaly-dokuments.com/gorod/novosibirsk http://www.originaly-dokuments.com/gorod/sankt-peterburg www.originaly-dokuments.com/gorod/chelyabinsk www.originaly-dokuments.com/gorod/orjol http://www.originaly-dokuments.com/diplom-o-vysshem-obrazovanii/diplom-bakalavra https://originaly-dokuments.com/diplom-o-vysshem-obrazovanii/diplom-magistra http://www.originaly-dokuments.com/spetsialnosti/menedzher www.originaly-dokuments.com/diplom-o-srednem-spetsialnom-obrazovanii/diplom-kolledzha www.originaly-dokuments.com/diplom-o-srednem-spetsialnom-obrazovanii
купить диплом о среднем специальном
http://http://egpu.ru/ vina-net.ru cursovik.ru www.spravkipiter.ru http://http://alcoself.ru/ school625.ru http://http://moek-college.ru/ http://mmcmedclinic.ru/ intimvisit.ru http://med-pravo.ru/ www.moskva-medcentr.ru http://intim-72.ru/ http://http://razigrushki.ru/ www.dgartschool.ru http://http://ftbteam.ru/ http://http://sb26.ru/ https://originaly-dokuments.com/attestaty/attestat-za-9-klass originaly-dokuments.com/diplom-o-srednem-spetsialnom-obrazovanii originaly-dokuments.com/gorod/nizhnij-tagil http://www.originaly-dokuments.com/gorod/vologda originaly-dokuments.com/gorod/saratov originaly-dokuments.com/spetsialnosti/yurist http://www.originaly-dokuments.com/spetsialnosti/povar originaly-dokuments.com/gorod/krasnodar originaly-dokuments.com/attestaty/attestat-za-11-klass originaly-dokuments.com/gorod/ekaterinburg originaly-dokuments.com/attestaty www.originaly-dokuments.com/spetsialnosti/bukhgalter www.originaly-dokuments.com/gorod/omsk http://www.originaly-dokuments.com/gorod/novosibirsk originaly-dokuments.com/gorod/sankt-peterburg https://originaly-dokuments.com/gorod/chelyabinsk https://originaly-dokuments.com/gorod/orjol originaly-dokuments.com/diplom-o-vysshem-obrazovanii/diplom-bakalavra www.originaly-dokuments.com/diplom-o-vysshem-obrazovanii/diplom-magistra originaly-dokuments.com/spetsialnosti/menedzher www.originaly-dokuments.com/diplom-o-srednem-spetsialnom-obrazovanii/diplom-kolledzha https://originaly-dokuments.com/diplom-o-srednem-spetsialnom-obrazovanii
купить диплом врача
http://http://aurus-diploms.com/geography/kupit-diplom-v-toljatti.html lands-diploms.com www.lands-diploms.com aurus-diploms.com lands-diploms.com http://http://lands-diploms.com/goroda/samara.html http://aurus-diploms.com/geography/zarechnyj.html http://aurus-diploms.com/geography/kupit-diplom-v-saratove.html lands-diploms.com www.lands-diploms.com http://http://aurus-diploms.com/kupit-diplom-tehnika.html http://http://aurus-diploms.com/geography/kupit-diplom-v-cherepovce.html http://http://aurus-diploms.com/kupit-diplom-kosmetologa.html aurus-diploms.com http://http://aurus-diploms.com/geography/michurinsk.html http://aurus-diploms.com/geography/kupit-diplom-volzhskij.html www.lands-diploms.com http://http://aurus-diploms.com/geography/volsk.html http://aurus-diploms.com/kupit-diplom-santekhnika.html www.lands-diploms.com lands-diploms.com aurus-diploms.com http://aurus-diploms.com/geography/kupit-diplom-v-permi.html aurus-diploms.com http://lands-diploms.com/goroda/vladimir.html www.lands-diploms.com aurus-diploms.com http://http://aurus-diploms.com/kupit-diplom-svarshhika.html aurus-diploms.com http://http://lands-diploms.com/goroda/chita.html http://aurus-diploms.com/geography/kupit-diplom-v-novosibirske.html aurus-diploms.com http://http://aurus-diploms.com/geography/novoaltajsk.html http://lands-diploms.com/goroda/lipeck.html www.lands-diploms.com http://http://aurus-diploms.com/geography/kupit-diplom-v-kurske.html lands-diploms.com lands-diploms.com http://lands-diploms.com/goroda/voronezh.html http://aurus-diploms.com/geography/kupit-diplom-v-surgute.html http://lands-diploms.com/goroda/belgorod.html lands-diploms.com www.aurus-diploms.com www.lands-diploms.com lands-diploms.com http://lands-diploms.com/attestat-11-klassov.html http://aurus-diploms.com/kupit-diplom-biologa.html http://http://lands-diploms.com/goroda/yaroslavl.html http://lands-diploms.com/specialnosti/ekonomist.html www.lands-diploms.com www.lands-diploms.com www.lands-diploms.com http://aurus-diploms.com/geography/kupit-diplom-rostov-na-donu.html http://http://lands-diploms.com/goroda/barnaul.html aurus-diploms.com http://http://lands-diploms.com/goroda/kazan.html http://aurus-diploms.com/geography/kupit-diplom-v-saranske.html www.lands-diploms.com http://http://aurus-diploms.com/geography/sevastopol.html http://lands-diploms.com/goroda/balashiha.html lands-diploms.com http://http://aurus-diploms.com/geography/kupit-diplom-v-ivanovo.html www.lands-diploms.com http://http://aurus-diploms.com/geography/kupit-diplom-v-rjazani.html http://aurus-diploms.com/geography/diplom-v-tomske.html http://lands-diploms.com/goroda/irkutsk.html www.lands-diploms.com aurus-diploms.com http://http://lands-diploms.com/goroda/ryazan.html http://http://aurus-diploms.com/kupit-diplom-avtomehanika.html www.aurus-diploms.com www.aurus-diploms.com www.aurus-diploms.com www.lands-diploms.com купить диплом с занесением в реестр https://archive-diplom.com диплом купить с занесением в реестр москва куплю диплом техникума реестр archive-diploman.com купить диплом с внесением в реестр https://archive-diploms24.com archive-diplomy24.com www.diploms-ukraine.com http://http://diploms-ukraine.com/diplom-spetsialista diploms-ukraine.com diploms-ukraine.com diploms-ukraine.com http://http://diploms-ukraine.com/kupit-diplom-belaya-tserkov www.diploms-ukraine.com diploms-ukraine.com www.diploms-ukraine.com www.diploms-ukraine.com diploms-ukraine.com diploms-ukraine.com diploms-ukraine.com http://http://diploms-ukraine.com/kupit-diplom-nikolaev www.diploms-ukraine.com diploms-ukraine.com http://diploms-ukraine.com/kupit-diplom-ternopol http://http://diploms-ukraine.com/kupit-diplom-vuza www.diploms-ukraine.com http://diploms-ukraine.com/meditsinskij-diplom diploms-ukraine.com http://diploms-ukraine.com/svidetelstvo-o-razvode www.diploms-ukraine.com http://https://6landik-diploms.ru www.7arusak-diploms.ru www.8saksx-diploms.ru http://https://8arusak-diploms24.ru www.9saksx-diploms24.ru www.4russkiy365-diploms.ru www.5gruppa365-diploms.ru www.6rudik-diploms365.ru купить диплом училища купить диплом харьков купить диплом кривой рог купить диплом ужгород купить аттестат школы
купить аттестат
купить диплом в челябинске купить диплом в благовещенске купить диплом киев купить диплом в волгограде купить диплом кандидата наук купить диплом о высшем образовании реестр купить диплом провизора купить диплом университета купить диплом в туапсе купить диплом с занесением в реестр купить диплом педагога купить диплом альчевск купить диплом в черногорске купить диплом дизайнера купить диплом учителя купить диплом фельдшера купить диплом в набережных челнах купить диплом в старом осколе купить диплом в заречном купить диплом в ишимбае купить диплом в омске купить диплом в санкт-петербурге купить диплом в сургуте купить диплом кировоград купить диплом менеджера купить диплом в екатеринбурге купить диплом в саратове купить диплом в нижнем новгороде купить диплом инженера механика купить диплом в нижнем новгороде купить диплом тренера купить диплом ивано-франковск купить диплом в перми купить диплом в череповце купить диплом фитнес инструктора купить диплом в белогорске купить диплом в каменске-шахтинском купить диплом учителя купить свидетельство о разводе купить диплом в томске купить диплом специалиста купить диплом воспитателя купить диплом в воронеже купить диплом экономиста купить диплом энергетика купить диплом в буйнакске купить диплом медсестры купить диплом массажиста купить диплом кривой рог купить диплом в томске купить диплом бурильщика купить диплом механика купить диплом железнодорожника купить диплом менеджера купить диплом медсестры купить диплом с занесением в реестр купить диплом высшем образовании занесением реестр купить диплом училища купить диплом в нижним тагиле купить диплом в калуге купить диплом парикмахера купить диплом в минеральных водах купить диплом сварщика купить диплом в махачкале купить диплом с внесением в реестр купить диплом в архангельске купить диплом экономиста купить аттестат за классов купить диплом средне техническое купить диплом керчь купить диплом николаев купить диплом массажиста купить диплом штукатура купить диплом автомеханика купить диплом в ставрополе купить диплом хмельницкий купить диплом энергетика купить диплом в ярославле купить диплом в белгороде купить диплом сварщика купить свидетельство о рождении купить диплом в рязани купить диплом винница купить диплом в липецке купить диплом в туле купить диплом программиста купить диплом сантехника купить диплом в оренбурге купить диплом днепропетровск купить диплом в балашихе купить диплом в самаре купить диплом в ростове-на-дону купить диплом в серове купить диплом средне специального образования купить диплом фармацевта купить диплом в севастополе купить диплом полтава купить диплом биолога купить диплом в казани купить диплом в смоленске купить диплом в сочи купить диплом реестром москве купить диплом житомир купить диплом в чите купить диплом в краснодаре купить диплом александрия купить аттестат купить диплом в саранске купить диплом в курске https://premialnie-diplomansy.com/отзывы-клиентов/ premialnie-diplomansy.com http://https://premialnie-diplomansy.com/инженер-строитель/ https://originality-diploman.com/свидетельство-о-разводе originality-diploman.com http://https://originality-diploman.com/купить-диплом-юриста http://https://originality-diploman.com/купить-диплом-медсестры https://originality-diploman.com/купить-диплом-врача http://https://originality-diploman.com/купить-диплом-института-в-рф https://originality-diploman.com/купить-диплом-красноярск http://https://originality-diploman.com/купить-диплом-ссср premialnie-diplomansy.com www.originality-diploman.com http://https://premialnie-diplomansy.com/купить-диплом-пермь/ www.premialnie-diplomansy.com premialnie-diplomansy.com www.premialnie-diplomansy.com premialnie-diplomansy.com www.premialnie-diplomansy.com https://originality-diploman.com/купить-диплом-москва
купить диплом о среднем специальном
https://originality-diplomas.com/
купить аттестат
rudiplomista24.com
купить диплом о среднем образовании
www.lands-diplom.com
купить диплом университета
http://https://gosznac-diplom24.com/ aurus-diplom.com
купить диплом о среднем образовании
originality-diplomans.com
купить диплом врача
http://https://rudiplomis24.com/
купить аттестат за 9 класс
diploma-asx.com
купить дипломы о высшем
gosznac-diplom24.com www.aurus-diplom.com
купить свидетельство о рождении
originality-diplomas.com
купить диплом кандидата наук
https://rudiplomista24.com/
купить диплом ссср
www.diploma-asx.com
купить свидетельство о рождении
www.gosznac-diplom24.com www.diploman-doci.com
купить диплом фармацевта
originality-diplomans.com
где купить диплом
rudiplomista24.com
купить дипломы о высшем
diploma-asx.com
купить диплом колледжа
www.gosznac-diplom24.com www.diploman-doci.com
купить диплом техникума
http://diplomsagroups.com/kupit-diplom-v-gorode/bryansk.html https://diploma-asx.com/ www.originality-diploman24.com Купить диплом Екатеринбург radiploms.com https://radiplom.com/kupit-diplom-stomatologa radiplomy.com www.radiplomas.com https://frees-diplom.com/diplom-feldshera купить свидетельство о рождении Купить диплом СССР Купить диплом в Москве Купить диплом университета Купить диплом о среднем образовании bitcoin casinos for usa players www.russiany-diplomix.com www.russiany-diplomx.com http://https://russiany-diplomana.com/diplom-o-srednem-tehnicheskom-obrazovanii https://russiany-diploman.com/kupit-diplom-novosibirsk https://russiany-diplomany.com/kupit-diplom-farmatsevta http://https://russiany-diplomas.com/kupit-diplom-novosibirsk купить диплом о среднем образовании Купить аттестат 11 классов Купить диплом в казани Купить диплом Воронеж Купить аттестат 11 классов купить диплом в Красноярске rudiplomirovany.com www.rudiplomirovans.com http://http://rudiplomirovana.com/аттестат-11-классов www.rudiplomisty.com http://http://rudiplomis.com/купить-диплом-омск www.rudiplomista.com www.diploman-doci.com rudiplomista24.com http://http://rudiplomis24.com/диплом-колледжа http://rudiplomirovan.com/свидетельства-и-справки/свидетельство-о-разводе http://http://ru-diplomirovanie.com/купить-диплом-томск www.ru-diplomirovan.com Купить свидетельство о разводе Купить диплом Екатеринбург Купить диплом Екатеринбург Купить аттестат 11 классов Купить диплом в Краснодаре Купить диплом в СПБ Купить диплом строителя купить диплом в екатеринбурге Купить диплом Воронеж Купить диплом Москва Купить диплом техникума Купить диплом для иностранцев Купить диплом колледжа https://diploman-doci.com/diplom-kandidata-nauk lands-diplomy.com купить диплом университета купить аттестат https://ru-diplomirovans.com/аттестат-11-классов www.ru-diplomirovana.com ru-diplomirovany.com ru-diplomirovanay.com https://ru-diplomirovannie.com/купить-диплом-томск https://gosznac-diplomy.com/kupit-diplom-v-krasnodare Купить диплом с реестром Купить диплом Казань Купить диплом врача Купить диплом в СПБ Купить аттестат за 9 классов Купить диплом Екатеринбург www.diplomsagroups.com купить диплом в хабаровске deep nudify www.i-medic.com.ua http://https://renault-club.kiev.ua/germetik-dlya-avto-zahist-ta-doglyad-za-vashym-avtomobilem tehnoprice.in.ua http://https://lifeinvest.com.ua/kley-dlya-far https://warfare.com.ua/kupity-germetik-dlya-far-gid-pokuptsya www.05161.com.ua http://https://brightwallpapers.com.ua/butilovyy-germetik-dlya-far http://http://3dlevsha.com.ua/kupit-germetik-avtomobilnyy https://abank.com.ua/chernyy-germetik-dlya-far abshop.com.ua http://https://alicegood.com.ua/linzy-v-faru artflo.com.ua www.atlantic-club.com.ua http://https://atelierdesdelices.com.ua/sekrety-vyboru-idealnyh-led-linz-dlya-vashoho-avto www.510.com.ua www.autostill.com.ua https://autodoctor.com.ua/led-linzi-v-fari-de-kupiti-yak-vibrati-vstanoviti-dlya-krashchogo-osvitlennya-vashogo-avto http://babyphotostar.com.ua/linzi-v-fari-vibir-kupivlya-i-vstanovlennya https://bagit.com.ua/linzi-v-faru-vibir-kupivlya-i-vstanovlennya bagstore.com.ua befirst.com.ua https://bike-drive.com.ua/perevagi-led-far-chomu-varto-pereyti-na-novitnye-osvitlennya http://billiard-classic.com.ua/yak-vybraty-ta-kupyty-pnevmostepler-porady-ta-rekomendaciyi ch-z.com.ua www.bestpeople.com.ua www.daicond.com.ua delavore.com.ua https://jiraf.com.ua/stekla-far-yak-pokrashchyty-zovnishniy-vyglyad-vashogo-avto www.itware.com.ua http://http://logotypes.com.ua/osvitlennya-yak-klyuch-do-bezpeki-yak-vazhlyvi-linzi-dlya-far http://https://naduvnie-lodki.com.ua/jak-vibrati-idealni-stekla-far-dlya-vashogo-avto-poradi-vid-ekspertiv www.nagrevayka.com.ua http://https://repetitory.com.ua/chomu-yakisni-stekla-far-vazhlivi-dlya-vashogo-avtomobilya www.optimapharm.com.ua http://https://rockradio.com.ua/korpusy-dlya-far-vid-klasyky-do-suchasnykh-trendiv www.renenergy.com.ua shop4me.in.ua http://https://tops.net.ua/vibir-linz-dlya-far-osnovni-kriterii-ta-rekomendacii http://https://comfortdeluxe.com.ua/linzi-v-avtomobilnih-farah-vazhlivist-i-vpliv-na-yakist-osvitlennya www.companion.com.ua http://http://vlada.dp.ua/ekspluataciyni-harakteristiki-ta-znosostiikist-polikarbonatnih-ta-sklyanih-stekol-far www.tennis-club.kiev.ua metabo-partner.com.ua hr.com.ua www.dvernoyolimp.org.ua http://i-medic.com.ua/naykrashche-sklo-dlya-far-yak-obraty-dlya-vashogo-avto https://renault-club.kiev.ua/steklo-dlya-far-yak-obraty-vstanovyty-ta-doglyadat www.tehnoprice.in.ua https://lifeinvest.com.ua/yak-vybraty-korpus-fary-dlya-vashogo-avtomobilya-porady-ta-rekomendaciyi http://daicond.com.ua/yak-doglyadaty-za-sklom-dlya-far-porady-ta-sekrety 05161.com.ua http://https://brightwallpapers.com.ua/sklo-far-dlya-staryh-avtomobiliv-de-znayty-i-yak-pidibraty http://3dlevsha.com.ua/yak-bi-led-24v-linzi-pidvyshchuyut-bezpeku-na-dorozi-doslidzhennya-ta-fakty http://https://abank.com.ua/zamina-skla-far-na-mazda-6-gh-pokrokove-kerivnytstvo svetiteni.com.ua www.startupline.com.ua http://http://unasoft.com.ua/termostiikyy-kley-dlya-stekla-far-yak-vybraty-naykrashchyy-variant https://apartments.dp.ua/bi-led-24v-linzi-v-fary-yak-vony-pratsyuyut-i-chomu-vony-efektyvni www.sun-shop.com.ua http://https://ital-parts.com.ua/yak-vibraty-idealni-bi-led-linzi-24v-dlya-vashogo-avto-poradi-ta-rekomendatsiyi http://http://corpnews.com.ua/led-lampy-z-linzamy-innovatsiyi-u-sviti-avtomobilnogo-osvitlennya www.brides.com.ua www.grim.in.ua www.mega-m.com.ua www.hr.com.ua https://gazeta.sebastopol.ua/chomu-obraty-bi-led-linzy-3-dyuyma-dlya-vashogo-avto https://interpen.com.ua/bi-led-linzy-3-dyuyma-pokrashchennya-osvitlennya bookidoc.com.ua vps.com.ua https://dvernoyolimp.org.ua/linzy-dlya-far-porady-z-vyboru-ta-vstanovlennya www.interpen.com.ua fairspin blockchain casino 5 popular bitcoin casino blockchain online casino online australian casinos that accept neosurf gold ira companies – gold ira companies compared https://05161.com.ua/yak-pidvishchiti-bezpeku-na-dorozi-za-dopomogoyu-yakisnih-linz-u-farah https://cancer.com.ua/yak-vibrati-yakisne-sklo-korpus-ta-inshi-skladovi-dlya-far https://dvernoyolimp.org.ua/vidguki-pro-sklo-dlya-far-shcho-kazhut-koristuvachi https://smotri.com.ua/perevagi-ta-nedoliki-riznih-tipiv-led-linz https://05161.com.ua/materiali-korpusiv-far-shcho-obrati-dlya-vashogo-avto https://vps.com.ua/oglyad-novitnih-tehnologiy-u-virobnitstvi-skla-dlya-far https://diamond-gallery.in.ua/perevagi-zamini-skla-far-pokrashchennya-vidimosti-ta-bezpeki https://cancer.com.ua/vse-shcho-potribno-znati-pro-sklo-korpusi-ta-skladovi-fari-avtomobilya https://warfare.com.ua/vartist-bi-led-linz-shcho-vplivaie-na-cinu-i-yak-znayti-optimalniy-variant https://firma.com.ua/perevagi-kupivli-led-linz-pokrashchennya-osvitlennya-ta-stylyu https://slovakia.kiev.ua/poshireni-problemi-zi-sklom-far-ta-yih-virishennya https://eterna.in.ua/yak-vibrati-chaynik-dlya-himichnogo-poliruvannya-avtomobilnih-far-poradi-vid-ekspertiv https://geliosfireworks.com.ua/idealne-osvitlennya-yak-obrati-optimalni-bi-led-linzi https://eebc.net.ua/idealne-osvitlennya-yak-obrati-optimalni-bi-led-linzi https://omurp.org.ua/oglyad-populyarnih-brendiv-skla-ta-korpusiv-dlya-far https://vwclub.org.ua/novitni-tehnologiyi-osvitlennya-vibor-bi-led-linz-dlya-vashogo-avto https://thecrimea.org.ua/perevagi-vikoristannya-bi-led-linz-u-farah-avtomobilya https://510.com.ua/chomu-vazhlivo-zaminyuvati-poshkodzene-sklo-far-poradi-vid-ekspertiv https://lifeinvest.com.ua/oglyad-naykrashchih-bi-led-linz-u-2024-roci https://alicegood.com.ua/remont-far-zamina-skla-korpusu-ta-inshih-skladovih https://atelierdesdelices.com.ua/top-10-virobnikiv-skla-dlya-far-avtomobiliv-u-2024-roci https://atlantic-club.com.ua/yak-obrati-khoroshogo-ryepyetitora-z-angliyskoyi-movi-klyuchovi-aspyekti-viboru https://tehnoprice.in.ua/trivalist-zhittya-bi-led-linz-shcho-ochikuvati https://artflo.com.ua/yak-vibrati-naykrashche-sklo-dlya-far-vashogo-avtomobilya https://i-medic.com.ua/bi-led-linzi-tehnologiyi-maybutnogo-dlya-suchasnih-avtomobiliv https://renault-club.kiev.ua/yak-bi-led-linzi-pokrashuyut-vidimist-na-dorozi https://elektromotor.net.ua/butiloviy-germetik-dlya-far-vse-scho-vam-potribno-znati https://cpaday.com.ua/yak-zakhistiti-steklo-fari-vid-vologi-i-pilu-za-dopomogoyu-germetika https://ameli-studio.com.ua/vidguki-ta-reytingi-yakiy-germetik-dlya-far-varto-kupiti https://blooms.com.ua/perevagi-bi-led-linz-chomu-varto-pereyti-na-novi-tehnologiyi-osvitlennya https://dnmagazine.com.ua/yak-vibrati-naykrashchiy-germetik-dlya-far-vashogo-avtomobilya https://cocoshop.com.ua/novitni-rishennya-v-oblasti-stekol-dlya-far-yak-obrati-pravilno https://salle.com.ua/vidnovlennya-stekla-fari-vse-scho-vam-potribno-znati https://reklamist.com.ua/zahist-stekla-fari-avto-vid-pogodnih-umov-i-vplivu-vid-shlyahu https://synergize.com.ua/yak-obrati-bi-led-linzi-dlya-far-poradi-ekspertiv https://brandwatches.com.ua/germetik-dlya-far-navishcho-vin-potriben-i-yak-pravilno-vikoristovuvati https://abshop.com.ua/perevagi-yakisnogo-skla-korpusiv-ta-skladovih-far-dlya-vashogo-avto https://tyres.com.ua/yak-led-linzi-pokrashchuyut-vidimist-na-dorozi https://tm-marmelad.com.ua/perevagi-bi-led-linz-dlya-vashogo-avtomobilya-chomu-varto-pereyti-na-novu-tehnologiyu https://pravoslavnews.com.ua/top-5-stekol-dlya-far-avtomobilya-porivnyannya-i-vidguki https://salonsharm.com.ua/yak-zaminiti-steklo-fari-na-avtomobili-samostiyno-pokrokova-instruktsiya https://tayger.com.ua/perevagi-led-linz-chomu-varto-zrobiti-vibir-na-korist-novitnoyi-tehnologiyi