【问题标题】:Qt: How to determine location / alignment of task barQt:如何确定任务栏的位置/对齐方式
【发布时间】:2011-06-08 13:51:17
【问题描述】:

使用 Qt 确定任务栏位置的最佳方法是什么?

我需要的是对齐方式(左、右、上、下)和边界(左、右、宽、高)

提前感谢您的帮助:-)

【问题讨论】:

    标签: qt qt4 system-tray taskbar


    【解决方案1】:

    您可以通过比较屏幕尺寸和桌面尺寸来推断任务栏的方向

    def get_task_bar_position(self):
        desktop = QtWidgets.QDesktopWidget()
        displayRect = desktop.screenGeometry()
        desktopRect = desktop.availableGeometry()
        if desktopRect.height() < displayRect.height():
            if desktopRect.y() > displayRect.y():
                return 'TOP'
            else:
                return 'BOTTOM'
        else:
            if desktopRect.x() > displayRect.x():
                return 'LEFT'
            else:
                return 'RIGHT'
    

    【讨论】:

    • 屏幕和桌面是不同的空间。桌面空间跨越多个显示器(甚至包括不可见区域),而屏幕空间仅限于当前上下文中的屏幕(显示器)。
    【解决方案2】:

    我认为 Qt 不提供这种功能。您可能不得不求助于 WinAPI 来获取此信息。

    见:http://msdn.microsoft.com/en-us/library/bb762108%28v=vs.85%29.aspx

    【讨论】:

    • 或一些 linux api 来查找 Linux 任务栏。
    • @Power 不知何故,当我阅读 Linux 任务栏时我不得不笑...你的意思是哪个窗口管理器中的哪个任务栏? ;-)
    • +1 表示清晰度:例如,我指的是 Ubuntu 中的顶部栏。不知道那里怎么称呼它:P(Ah Gnome 面板)
    猜你喜欢
    • 1970-01-01
    • 2011-01-03
    • 2013-04-21
    • 2013-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多