2017-07-18 6 views
1

私はTkinterのを使用して電卓を作っていると私は、次の操作を行いたいユーザは、ボタンでのみ入力できるようにEntryウィジェットのEntryウィジェットへのキーボード入力を無効にする方法、tkinterウィンドウのサイズ変更を無効にする方法、コンソールウィンドウを非表示にする方法はありますか?

  • 無効にキーボード入力を。
  • Entryウィジェットのキーボード入力を無効にした後でも、ウィジェットの背景と前景を変更できるようにしたいと考えています。
  • この電卓の使用では全く役に立たないので、コンソールウィンドウを非表示にしたいと思います。
  • ユーザーにrootウィンドウのサイズを変更させたくありません。 rootウィンドウのサイズ変更を禁止するにはどうすればよいですか?ここで

は計算が完了した後、私があれば、後でEntryウィジェットに入力ボタンを使用できますが、

from tkinter import * 

root = Tk() 
root.title("Calculator") 
root.config(background="black") 
operator = "" 
textVar = StringVar() 
def valInput(number): 
    global operator 
    operator+=str(number) 
    textVar.set(operator) 

display = Entry(root, textvariable=textVar, font=("Arial", 14, "bold"), bg="lightblue", fg="black", justify="right") 
display.grid(row=0, column=0, columnspan=4) 
btn7 = Button(root, font=("Arial", 12, "bold"), bg="orange", fg="red", text="7", command= lambda : valInput(7)) 
btn7.grid(row=1, column=0) 

""" 
And more buttons... 

""" 
root.mainloop() 

あなたが見ることができるように...これまでのところ私のコードですユーザーがabcd ...のような文字を入力すると、問題が発生し、エラーが表示されます。これらのエラーを回避できるようにキーボード入力を禁止するにはどうすればよいですか?

私は電卓を少しカラフルにしたいと思っています。 rootウィンドウの色、ボタン、そしてEntryウィジェットの色を変更しました。ウィジェットが無効になった後もウィジェットの色を変更する方法はありますか?

私はこの電卓を使用している間、コンソールウィンドウは必要ありません。どのように私はそれを隠すのですか?

rootウィンドウのサイズを変更すると、電卓が醜くなります。さらに、ウィンドウのサイズ変更は不要です。では、ユーザーがウィンドウのサイズを変更しないようにするにはどうすればよいですか?無効の状態を設定

+0

気でしたか?あなたが尋ねたものはすべて、Google検索の最初のページにあります。 –

+0

@SierraMountainTech申し訳ありませんが、Googleは私が探している情報を提供するだけの検索エンジンです。 ** **コードを説明していません。私は学習者です。プロフェッショナルではない。だから私が学んだすべてのことについては、後で別のプロジェクトを作るために自分の知識を使うことができるように説明が必要です。 –

+0

ドキュメントを読んだ後、コードを作成して、その動作を確認します。私は専門家でもない。私は約4ヶ月間自由時間にこれをやっており、そのすべてが「読み込み、書き込み、実行、修正」されています。 –

答えて

3

エントリに(引数)をキーボード入力を無効にすることができるように

display = Entry(root, state=DISABLED) 

Tkinterのサイズを変更する機能を無効にすることができるようにしますウィンドウをドラッグ&ストレッチすることはできません。

root.resizable(0,0) 

コマンドプロンプトウィンドウを表示させないようにするには。 (私はTkinterのウィンドウをしたい。

それはすべてのメインの名前空間を汚染するので、それは本当にお勧めできませんfrom tkinter import *使用しないでください)Windowsを使用していると仮定すると(.pyw拡張子を持つ

+0

サイズ変更の質問で探しているものは、 'root.resizable(width = False、height = False)'ではないと思います。 –

+0

@SierraMountainTechメソッドはもっと明示的ですが、それ以外はまったく同じこと。 – Novel

+0

私はあなたがそれを使用している方法を見ていません。この場合、0 == Falseであることをイメージします。正しい? –

1

をファイルの名前を変更しますコード内でのコードの明示が少なくなり、最悪の場合、名前の衝突を引き起こす可能性があります。

は、右の反射神経を持っている、これは動作するはず代わり

import tkinterimport tkinter as tkを使用するには、disabledbackgroundオプションを使用する必要があります:あなたは、このいずれかをGoogleに

import tkinter as tk 

root = tk.Tk() 

display = tk.Entry(root,font=('Arial', 20, 'bold'), disabledbackground='lightblue', state='disabled') 
display.pack() 

root.resizable(0,0) 
root.mainloop() 
+0

はい。出来た。私はあなたを助けることができる方法はありますか?どういうわけか、あなたの評判を高めるかもしれない? Idk私はフリージンのnoobです。 –

+0

私は初心者でも心配する必要はありません。アンカーをupvoteし、それがあなたの問題であなたを助けた場合は受け入れ(緑のもの)をマークすることができます。 ところで、私はdisabledbackgroundオプションについて知らなかったので、あなたも私を助けました、ありがとう! –

関連する問題