私の大学でcubesatプロジェクト用の衛星トラッカーを作るためにpython 2.7を使っています。今私はそれが欲しいと思うようにすべてのものを実行している。私はキューブがまだ飛行していないので、ISSの軌道パラメータに基づいて4枚の画像とテキストを生成します。TkinterでGUIを設定して画像とテキストを入力する
4の画像は、次のとおりです。
1)ストレートcelestrakからそのTLEに基づいて、地球上の衛星の現在位置。
2)メルケータ(フラット)地図上の衛星の現在の位置。
3)現在の緯度/経度の位置は、Google Earthビューに変換され、物理的にどこにあるかを解釈します。
4)現在の天気図に基づいた現在の緯度/経度位置。雲が地域にあるかどうかに関係なく、衛星リモートセンシング画像処理機能が不明瞭です。 (画像が醜く紫色に見える理由は、この地域にデータ検索時に現在の気象データがないためです)
次に、高度、速度、空間解像度などの情報を含むテキストボックスを実装する必要があります。
すごく素敵です。しかし、私は神の愛のために、このTkinterのGUIをうまくプレイする方法を理解していません!私は地球科学者であり、コンピュータ科学者ではなく、Pythonプログラミングは私にとって非常に新しいものです。D
とにかく、完成したデータをTkinter GUIでどのように作成するかについては、下の原始的なイメージを参照してください:
を今ここに私の恥ずかしいのコードは以下の通りです:このホラーショーを生成
import Tkinter as tk
from PIL import ImageTk, Image
#This creates the main window of an application
window = tk.Tk()
window.title("Satellite Control Center")
window.geometry("1000x800")
window.configure(background='grey')
#Imports the pictures.
pic1 = "Globeview.png"
pic2 = "MercatorView.png"
pic3 = "currentweathercroppedsmall.png"
pic4 = "GECurrentcroppedsmall.png"
#Creates a Tkinter-compatible photo image, which can be used everywhere Tkinter expects an image object.
img1 = ImageTk.PhotoImage(Image.open(pic1))
img2 = ImageTk.PhotoImage(Image.open(pic2))
img3 = ImageTk.PhotoImage(Image.open(pic3))
img4 = ImageTk.PhotoImage(Image.open(pic4))
#The Label widget is a standard Tkinter widget used to display a text or image on the screen.
globeview = tk.Label(window, image = img1)
mercatorview = tk.Label(window, image = img2)
currentweather= tk.Label(window, image = img3)
gearth = tk.Label(window, image = img4)
#The Pack geometry manager packs widgets in rows or columns.
globeview.pack(side = "top", fill = "both", expand = "yes")
mercatorview.pack(side = "top", fill = "both", expand = "yes")
currentweather.pack(side = "bottom", fill = "both", expand = "yes")
gearth.pack(side = "bottom", fill = "both", expand = "yes")
#Start the GUI
window.mainloop()
を!
私の問題は明らかにされている:
1)画像は、私が好きなように整列されていません。通常はHTMLでテーブルの行を設定し、必要に応じてスペーサーに合わせます。しかし、私はここでそれをどのように定義するのか分からず、私は今これで挫折しています。
2)テキストボックスを追加する必要があります。たびに、さまざまなバージョンのテキストボックスを追加しようとしました。私は奇妙なpyimage'xx 'エラーが発生し、テキストボックスは現れないようです。
3)今後の予定:画像の下にあるボタンで、未処理の画像のフルサイズを表示します。しかし、それは今必要不可欠ではありません!
私は、あなたの誰かがこれを行う良い方法を持っていると思っています。あるいは、あなたのコードを見ることができ、ちょうどピクセルを整列させるためのビット。
ありがとうございます。
'tkinter'は' HTML'ではありません - それはレイアウトを作成する独自のルールを持っています。あなたは 'pack()'、 'grid()'、 'place()'の3つのレイアウトを管理していますが、一つのウィンドウやフレームに混在させるべきではありませんが、フレーム内(フレーム内で別のフレームを別のマネージャーに置くことができます) – furas