如何在 Python FMX GUI 应用程序中向控件添加右键单击上下文菜单?

问题描述 投票:0回答:0

我使用

DelphiFMX GUI Library for Python
制作了一个带有
Form
Image,但我现在想要的是图像上的右键单击上下文菜单。当我右键单击图像时,它应该会弹出一个上下文弹出菜单,就像我在 VSCode 中右键单击时看到的那样:

我有以下代码使我的

Form
Image

import os
from delphifmx import *

class frmMain(Form):
    def __init__(self, owner):
        self.Caption = 'My Form with Image and Context Menu'
        self.Width = 1000
        self.Height = 1000

        self.imgDirt = Image(self)
        self.imgDirt.Parent = self
        self.imgDirt.Align = "Client"
        self.imgDirt.Margins.Top = 40
        self.imgDirt.Margins.Left = 40
        self.imgDirt.Margins.Right = 40
        self.imgDirt.Margins.Bottom = 40

        path = os.path.dirname(os.path.abspath(__file__))
        self.imgDirt.Bitmap.LoadFromFile(path + '\dirt.png')


def main():
    Application.Initialize()
    Application.Title = "My Application"
    Application.MainForm = frmMain(Application)
    Application.MainForm.Show()
    Application.Run()
    Application.MainForm.Destroy()

main()

我尝试过这样做,但它不起作用(

NameError: name 'ContextMenu' is not defined
):

self.cm = ContextMenu(self)
self.cm.Items.Add("Item 1")
self.cm.Items.Add("Item 2")
self.cm.Items.Add("Item 3")

同样适用于:

self.cm = PopUpMenu(self)

如何在 FMX for Python 中执行此操作?图像上的简单右键单击上下文菜单弹出

python user-interface contextmenu firemonkey popupmenu
© www.soinside.com 2019 - 2024. All rights reserved.