0
これは、マウスカーソルがスクロールスライダの上にあるときだけスクロールするショートノートブックコードです。 私の問題に関する情報が見つかりません。私がインターネットなどで見つけた例は、時にはうまくいくが、私の場合はそうではない。 Python3.4のwin7の64tkinterノートブックタブのtkinterフレーム(キャンバス付き)上のtkinterスクロールバーは、スクロールスライダー上にマウスカーソルがある場合にのみスクロールしますか?
# -*- coding: utf-8 -*-
import tkinter
from tkinter import ttk
import sys,pickle,webbrowser
def cocoa_click(event):
webbrowser.open("http://stts.pythonanywhere.com/")
mainframe = tkinter.Tk()
mainframe_width = (mainframe.winfo_screenwidth()/2 - 200)
mainframe_heigth = (mainframe.winfo_screenheight()/2 - 250)
mainframe.geometry("%dx%d+%d+%d" % (1000, 600, mainframe_width, mainframe_heigth))
mainframe.title('DAS progress 132')
mainframe.resizable(False,True)
n_book = ttk.Notebook(mainframe)
n_book.pack(fill='both', expand='yes')
n_book.pressed_index = None
x_name=["tabnote1","tabnote2","tabnote3","tabnote4"]
x_container=[]; x_canvas=[]; x_scroll=[]; x_frame=[]
cvsw,cvsh=960,400;
sreg=(0,0,1000,1320)
for i in range(4):
x_container.append(tkinter.Frame(n_book))
x_container[i].pack(fill=tkinter.BOTH, expand=True)
n_book.add(x_container[i], text=x_name[i]) # add container to note book
x_canvas.append(tkinter.Canvas(x_container[i], width=cvsw, height=cvsh)) # add canvas to container
x_scroll.append(tkinter.Scrollbar(x_container[i], command=x_canvas[i].yview)) # add scroll to container
x_canvas[i].config(yscrollcommand=x_scroll[i].set, scrollregion=sreg)
x_canvas[i].pack(side=tkinter.LEFT, fill=tkinter.BOTH, expand=True)
x_scroll[i].config(width=240)
x_scroll[i].pack(side=tkinter.RIGHT, fill=tkinter.Y, expand=True)
cocoa = ttk.Button(mainframe,text="(: cocoa") # add button to mainframe - worked
cocoa.place(height=40,width=600,relx=0.4,rely=0)
cocoa.bind("<Button-1>",cocoa_click)
mainframe.mainloop()
?マウスが上にない場合、どのようにスクロールスライダーを動かしていますか? –
私の場合は解決策が見つかりましたが、それはきれいではなく、正確ではありません。今win7上でパネルの幅の任意の位置にカーソルを置くとパネルをスクロールすることができますが、スクロールスライダーだけでなく – lenivaya10001