2011-10-19 3 views
0

は、私がしたいことは、私は、可能で描く(とすることができ、画面の最上部に5pxの水平方向のパネルがあるPythonでWindows上にパネルのようなものを作成できますか?漠然としたタイトルのために申し訳ありません

より有益なもの%)を思い付くのクリックを扱うことができませんでしたあまりにも)。

以下の特徴の一つは素晴らしいだろう(私は理解するが、それはそれらの両方を組み合わせることが、おそらく実際にはできません):

  • パネルが最大のウィンドウがすべき、すなわち、ちょうどWindowsの独自のタスクバーのようにする必要がありますそれをオーバーラップするが、
  • 代わりに、その下に起動しないパネルは、フルスクリーンアプリケーションにすぎ

Pythonでこれを実行することが可能であることを示す必要がありますか?

ありがとうございました。

+1

アプリケーションがフルスクリーンになったときにWindowsタスクバーが表示されません。フルスクリーンではなく最大化を意味します。あなたが記述しているコントロールは、[アプリケーションバー](http://msdn.microsoft.com/en-us/library/cc144177(VS.85).aspx)と呼ばれています。私は非常にPythonのラッパーアプリバーがあった場合は非常に驚くだろう。生のwin32を使用して自分自身を書くことが期待されます。多くの痛みが待っています。 –

+0

@DavidHeffernanそれはまさに私が言ったことです:私はそれを*タスクバー(ウィンドウが最大化されたときに表示)にするか、フルスクリーンで表示するかどちらかにします。 –

+0

フルスクリーンウィンドウがタスクバーを隠します。とにかく、あなたが必要とするものは、デスクトップの作業領域に食べるものです。私が言ったように、Windows上ではアプリケーションバーと呼ばれています。 –

答えて

0

はい、可能です。 「方法」の部分は、選択肢の多いGUIライブラリに依存しますが、ほとんどの人はwxPythonまたはPythonのQtであるPySideを推奨します。

PySideには良い文書があり、tutorialsです。

QMainWindowインスタンスを作成し、必要に応じてWindowFlagsを設定します。おそらく、次の組み合わせが必要ですQt::Window | Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint。このような

何か:

import sys 
from PySide.QtCore import * 
from PySide.QtGui import * 

class Form(QMainWindow): 

    def __init__(self, parent=None): 
     super(Form, self).__init__(parent) 
     self.setWindowFlags(Qt::Window | Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint) 


if __name__ == '__main__': 
    # Create the Qt Application 
    app = QApplication(sys.argv) 
    # Create and show the form 
    form = Form() 
    form.show() 
    # Run the main Qt loop 
    sys.exit(app.exec_()) 

注意、こうしたウィンドウの「上に滞在し、」自然には限界があるということ。 Win32固有の方法でそれに対抗してさらに高まることができますが、このような要件は設計上の誤りです。

+0

これは、タスクバーとアプリケーションバーのようにデスクトップの作業領域をどのように減らすのか分かりません。 –

+0

質問を理解する方法は、彼はその意味でタスクバーではなく常時トップウィンドウを望んでいた(彼はアプリケーションがそれより下に開始しなければならないと言った) –

+0

はい、これは常にトップウィンドウではなくアプリケーションバーです。最大化されたウィンドウは常に上のウィンドウの下にあります。 –

関連する問題