A question about If the menu is to big to fit the screen

I built a popup menu for my trayicon (TaskBarIcon) program. But I have
to put more than 100 items in that menu so that the menu is to big for
the screen.

I'm using wxpython 2.8.12.1, it will gives me a up/down arrow at the
top and the bottom of the menu to let me click for scrolling. But I
think it's not good enough.

Does anyone here know how to use mouse wheel to scroll the "too big"
menu in this case? Or how to let the menu show its items in more than
1 lines?

Thanks for checking,
Michael

Michael Luk wrote:

I built a popup menu for my trayicon (TaskBarIcon) program. But I have
to put more than 100 items in that menu so that the menu is to big for
the screen.

That is a user interface nightmare. Have you every tried to use an app
with a menu longer than the screen? It's dang near impossible.

Surely it would be better to organize the items into sub-menus so the
whole thing can remain visible.

···

--
Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc.

I have no way, in my trayicon application I need to use the menu to showing some information to user.

I have checked pyQT, its popup menu can separate items into more than 1 columns if the menu is too big. I love wxpython but I don’t know how to make this happen.

···

bdt.michael.lu@gmail.com

From: Tim Roberts

Date: 2012-04-21 01:51

To: wxpython-users@googlegroups.com

Subject: Re: [wxPython-users] A question about If the menu is to big to fit the screen

Michael Luk wrote:

I built a popup menu for my trayicon (TaskBarIcon) program. But I have

to put more than 100 items in that menu so that the menu is to big for

the screen.

That is a user interface nightmare. Have you every tried to use an app

with a menu longer than the screen? It’s dang near impossible.

Surely it would be better to organize the items into sub-menus so the

whole thing can remain visible.

Tim Roberts, timr@probo.com

Providenza & Boekelheide, Inc.

To unsubscribe, send email to wxPython-users+unsubscribe@googlegroups.com

or visit http://groups.google.com/group/wxPython-users?hl=en

Hi,

···

bdt.michael.lu@gmail.com

    I have no way, in my trayicon application I need to use the

menu to showing some information to user.

    I have checked pyQT, its popup menu can separate items into

more than 1 columns if the menu is too big. I love wxpython but
I don’t know how to make this happen.

A menu is not intended for "showing some information to user." Rather it is designed for allowing the user to make a selection from a series of choices, which will most likely trigger some program functionality.

It would be better to show a new frame with the "information" presented in a nicely formatted manner within the frame. That can be done from a TaskBarIcon almost as easily as showing a menu. Otherwise if you insist on making your users curse you then try calling menu.Break(), it should add a new column to the menu on MSW, but will be ignored on the other platforms where it isn't supported.

···

On 4/20/12 10:58 AM, bdt.michael.lu@gmail.com wrote:

I have no way, in my trayicon application I need to use the menu to
showing some information to user.
I have checked pyQT, its popup menu can separate items into more than 1
columns if the menu is too big. I love wxpython but I don't know how to
make this happen.

--
Robin Dunn
Software Craftsman

That will still be painful for the user to navigate IMO. Especially if they are not really menu items but "information" for the user to read. There is a reason that MS stopped making the Start->Programs menu be a real cascading menu with potentially hundreds of items.

···

On 4/20/12 11:22 AM, Werner wrote:

Hi,

On 20/04/2012 19:58, bdt.michael.lu@gmail.com wrote:

I have no way, in my trayicon application I need to use the menu to
showing some information to user.
I have checked pyQT, its popup menu can separate items into more than
1 columns if the menu is too big. I love wxpython but I don't know how
to make this happen.

I would still follow Tim's suggestion and not follow the pyQT way,
groupd your 100+ items into groups and then have a menu for each group
and the items in them as sub-menu.

--
Robin Dunn
Software Craftsman