Hallo. Ja das stimmt. Optisch sehen, was das Problem ist, ist halt immer besser. Hier der Code, wo das Kontextmenü ausgeblendet ist. Bei Einblendung, sitzt das Frame über alle Instanzen und überdeckt damit alle Bereiche. Ich möchte aber unabhängig davon bei einem Klick das Kontextmenü, genauso wie jetzt aber ich sehe das Menü nicht mehr.
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: iso-8859-15 -*-
import sys
try:
from Tkinter import *
except ImportError:
from tkinter import *
try:
import ttk
py3 = 0
except ImportError:
import tkinter.ttk as ttk
py3 = 1
import xyz_support
from Tkinter import Tk, Frame, Menu
from Tkinter import Button, LEFT, TOP, X, FLAT, RAISED
import Tkinter
def vp_start_gui():
'''Starting point when module is the main routine.'''
global val, w, root
root = Tk()
top = App (root)
root.mainloop()
w = None
def create_App(root, *args, **kwargs):
'''Starting point when module is imported by another program.'''
global w, w_win, rt, rm
rt = root
w = Toplevel (root)
top = App (w)
rm = self.TNotebook1
xyz_support.init(w, top, *args, **kwargs)
return (w, top)
def destroy_App():
global w
w.destroy()
w = None
class App:
def __init__(self, top=None):
_bgcolor = '#d9d9d9' # X11 color: 'gray85'
_fgcolor = '#000000' # X11 color: 'black'
_compcolor = '#d9d9d9' # X11 color: 'gray85'
_ana1color = '#d9d9d9' # X11 color: 'gray85'
_ana2color = '#d9d9d9' # X11 color: 'gray85'
font9 = "-family Arial -size 9 -weight normal -slant roman " \
"-underline 0 -overstrike 0"
self.style = ttk.Style()
if sys.platform == "win32":
self.style.theme_use('winnative')
self.style.configure('.',background=_bgcolor)
self.style.configure('.',foreground=_fgcolor)
self.style.configure('.',font="TkDefaultFont")
self.style.map('.',background=
[('selected', _compcolor), ('active',_ana2color)])
top.geometry("1024x618+363+230")
top.title("MainPage")
top.configure(background="#d9d9d9")
top.configure(highlightbackground="#d9d9d9")
top.configure(highlightcolor="black")
contentframeheigth = 33 #icons 16 bit = 33; icons 24 bit = 41; icons 32 bit = 49
contentframewidth = 150 #icons 16 bit = 150; icons 24 bit = 190; icons 32 bit = 230
#Toolbar-Menü
self.Frame1 = Frame(top)
self.Frame1.place(relx=0.0, y=0.0, height=contentframeheigth, relwidth=1.0)
self.Frame1.configure(relief=GROOVE)
self.Frame1.configure(borderwidth="2")
self.Frame1.configure(relief=GROOVE)
self.Frame1.configure(background="#d9d9d9")
#Content Eingabe
self.Frame2 = Frame(top)
self.Frame2.place(relx=0.0, y=contentframeheigth, relheight=1.0, relwidth=1.0)
self.Frame2.configure(relief=GROOVE)
self.Frame2.configure(borderwidth="2")
self.Frame2.configure(relief=GROOVE)
self.Frame2.configure(background="#d9d9d9")
self.style.configure('TNotebook.Tab', background=_bgcolor)
self.style.configure('TNotebook.Tab', foreground=_fgcolor)
self.style.map('TNotebook.Tab', background=[('selected', _compcolor), ('active',_ana2color)])
self.TNotebook1 = ttk.Notebook(self.Frame2)
self.TNotebook1.place(relx=0.0, rely=0.0, relheight=0.93, relwidth=1.0) #klein rely=0.07; groß=0.05
self.TNotebook1.configure(width=1024)
self.TNotebook1.configure(takefocus="")
self.TNotebook1_pg0 = ttk.Frame(self.TNotebook1)
self.TNotebook1.add(self.TNotebook1_pg0, padding=3)
self.TNotebook1.tab(0, text="xxx",underline="-1",)
self.TNotebook1_pg1 = ttk.Frame(self.TNotebook1)
self.TNotebook1.add(self.TNotebook1_pg1, padding=3)
self.TNotebook1.tab(1, text="yyy",underline="-1",)
self.TNotebook1_pg2 = ttk.Frame(self.TNotebook1)
self.TNotebook1.add(self.TNotebook1_pg2, padding=3)
self.TNotebook1.tab(2, text="zzz",underline="-1",)
self.TNotebook1_pg3 = ttk.Frame(self.TNotebook1)
self.TNotebook1.add(self.TNotebook1_pg3, padding=3)
self.TNotebook1.tab(3, text="aaa",underline="-1",)
self.TNotebook1_pg4 = ttk.Frame(self.TNotebook1)
self.TNotebook1.add(self.TNotebook1_pg4, padding=3)
self.TNotebook1.tab(4, text="bbb",underline="-1",)
"""
# create a popup menu
self.aMenu = Menu(self.Frame2, font="TkMenuFont",bg=_bgcolor,fg=_fgcolor, tearoff=1)
self.aMenu.add_command(label="Undo", command=self.hello)
self.aMenu.add_command(label="Redo", command=self.hello)
# create a frame
self.aFrame = Frame(self.Frame2)
self.aFrame.place(relx=0.0, rely=0.0, relwidth=1.0, relheight=1.0)
## attach popup to frame
self.aFrame.bind("<Button-3>", self.popup)
"""
def hello(self):
print"hello"
def popup(self, event):
self.aMenu.post(event.x_root, event.y_root)
if __name__ == '__main__':
vp_start_gui()