Python Forum
[Tkinter] Scroll bar height is not fixed with Text widget
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Tkinter] Scroll bar height is not fixed with Text widget
#1
Hello Guys,
Here i am creating a GUI like Search engine.The problem what i am getting is the scroll bar is not fixed with Text widget.Even though i used sticky.

Thanks in advance.


from Tkinter import *
root = Tk()

options = ["10","20","30"]

var = StringVar(root)
var.set('10')

Value = Label(root,text="Value:", font="-weight bold")
Value.grid(row=0,column=0,sticky="W")

Search = Entry(root,width=50)
Search.grid(row=0,column=1)

Top = Label(root,text="TOP",font="-weight bold")
Top.grid(row=0,column=2,sticky="W")

Dropdownlist = OptionMenu(root,var,*options)
Dropdownlist.grid(row=0,column=3,padx=5,sticky="W")

Go = Button(root,text="GO",width=5)
Go.grid(row=0,column=4,sticky="W")

Reset = Button(root,text="RESET",width=5)
Reset.grid(row=0,column=5,padx=5,sticky="W")

Result = Text(root,height=20,width=69)
Result.place(x=10, y=40)

Scroll = Scrollbar(root,command=Result.yview)
Scroll.grid(row=1,column=6,padx=12,sticky='NS')
Result.config(yscrollcommand=Scroll.set)

root.mainloop()
Reply
#2
Here's a sample with scrollbar from my thread at https://python-forum.io/Thread-Show-Inst...age-detail
    def create_textframe(self):
        self.textframe = tk.Text(self.fmain, bd=2, bg='#CEF6EC',
                                 relief=tk.RAISED)
        self.txscroll = tk.Scrollbar(self.fmain, orient=tk.VERTICAL,
                                     command=self.textframe.yview)
        self.txscroll.grid(row=1, rowspan=self.treeheight, column=4, sticky='ns')
        self.textframe.configure(yscroll=self.txscroll.set)
        self.textframe.grid(row=0, rowspan=self.treeheight, column=3, padx=2,
                            pady=2, sticky='nsew')
Note that I specify the height (rowspan) to match that of the Text widget
Reply
#3
Here i done with (ipady) to fix the scroll bar height.
from Tkinter import *
root = Tk()
 
options = ["10","20","30"]
 
var = StringVar(root)
var.set('10')
 
Value = Label(root,text="Value:", font="-weight bold")
Value.grid(row=0,column=0,sticky="W")
 
Search = Entry(root,width=50)
Search.grid(row=0,column=1)
 
Top = Label(root,text="TOP",font="-weight bold")
Top.grid(row=0,column=2,sticky="W")
 
Dropdownlist = OptionMenu(root,var,*options)
Dropdownlist.grid(row=0,column=3,padx=5,sticky="W")
 
Go = Button(root,text="GO",width=5)
Go.grid(row=0,column=4,sticky="W")
 
Reset = Button(root,text="RESET",width=5)
Reset.grid(row=0,column=5,padx=5,sticky="W")
 
Result = Text(root,height=20,width=69)
Result.grid(rowspan=10,columnspan=40,sticky='W',padx=5)
 
 
Scroll = Scrollbar(root,command=Result.yview)
Scroll.grid(row=1,column=6,ipady=135)
Result.config(yscrollcommand=Scroll.set)
 
root.mainloop()
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  [PyQt] QTableView: scroll to top cell of the screen random_nick 2 2,833 Oct-08-2022, 12:29 AM
Last Post: random_nick
  [Tkinter] The Text in the Label widget Tkinter cuts off the Long text in the view malmustafa 4 4,840 Jun-26-2022, 06:26 PM
Last Post: menator01
  [PyQt] How do I get a QScrollArea to scroll? LavaCreeperKing 9 7,805 Oct-29-2021, 08:33 AM
Last Post: Axel_Erfurt
  Tkinter reduce OptionMenu height euras 2 4,646 May-25-2021, 09:14 PM
Last Post: euras
  [Tkinter] Text widget inert mode on and off rfresh737 5 3,855 Apr-19-2021, 02:18 PM
Last Post: joe_momma
  Line numbers in Text widget rfresh737 3 5,401 Apr-15-2021, 12:30 PM
Last Post: rfresh737
  Treeview scroll selected node to top rfresh737 1 2,707 Apr-14-2021, 03:27 AM
Last Post: deanhystad
  [Tkinter] canvas widget scroll issue chrisdb 2 3,841 Apr-07-2021, 05:48 AM
Last Post: chrisdb
  tkinter text widget word wrap position chrisdb 6 7,560 Mar-18-2021, 03:55 PM
Last Post: chrisdb
  [Tkinter] Help with scroll bars kraco 1 2,233 Sep-27-2020, 11:20 PM
Last Post: Larz60+

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020