2017-05-04 3 views
0

Ich habe ein Python-Skript, das Binär in Dezimal und Dezimal in Binär konvertieren kann, und ich möchte in der Lage sein, Text hervorzuheben, klicken Sie mit der rechten Maustaste darauf, wählen Sie eine Option im Dropdown-Menü auf Windows (10) und lassen Sie es konvertieren die Nummer, die mir in einer Benachrichtigung oder so etwas sagt. Ich weiß, dass, um das Skript auszuführen, ich die Registrierung bearbeiten muss, aber genau wie, und wie ich den markierten Text als Eingabe verwenden und eine Benachrichtigung senden kann, ist ein Rätsel für mich. Wenn es überhaupt keine Hilfe ist, zur Zeit der CodeMarkierten Text als Eingabe für ein Python-Skript verwenden?

import math 

def binToDec(binary): 
    decimal = 0 
    i = 0 
    while (binary != 0): 
     remainder = binary%10 
     binary = int(binary/10) 
     decimal += remainder*pow(2,i) 
     i+=1 
    return int(decimal) 

def decToBin(decimal): 
    binary = "" 
    while (decimal > 0): 
     remainder = int(decimal%2) 
     div = int(decimal/2) 
     binary += str(remainder) 
     decimal = div 
    return int(binary[::-1]) 

die ich kenne, in diesem Zustand ist nutzlos. Ich brauche generell einen Punkt in die richtige Richtung oder Anweisungen, wie ich das machen würde, es wäre sehr zu begrüßen.

Antwort

0

Sie können GUI-Bibliotheken Python-Angebote verwenden.

Hinsichtlich this question, ist hier ein Stück Code, der eine menubutton Liste mit Optionen von binToDec (1010) und decToBin (10) Ihrem Beispiel erstellt, tkinter mit (python3x):

import math 

def binToDec(binary): 
    decimal = 0 
    i = 0 
    while (binary != 0): 
     remainder = binary%10 
     binary = int(binary/10) 
     decimal += remainder*pow(2,i) 
     i+=1 
    return int(decimal) 

def decToBin(decimal): 
    binary = "" 
    while (decimal > 0): 
     remainder = int(decimal%2) 
     div = int(decimal/2) 
     binary += str(remainder) 
     decimal = div 
    return int(binary[::-1]) 



import tkinter as tk 

def cbc(num, tex): 
    return lambda : callback(num, tex) 

def callback(num, tex): 
    s = '{}\n'.format(num) 
    tex.insert(tk.END, s) 
    tex.see(tk.END)   

top = tk.Tk() 
tex = tk.Text(master=top) 
tex.pack(side=tk.RIGHT) 
bop = tk.Frame() 
bop.pack(side=tk.LEFT) 

b1 = tk.Button(bop, text="binToDec(1010)", 
     command=cbc(binToDec(1010),tex)) 
b1.pack() 
b2 = tk.Button(bop, text="decToBin(10)", command=cbc(decToBin(10),tex)) 
b2.pack() 

tk.Button(bop, text='Exit', command=top.destroy).pack() 
top.mainloop() 

Obwohl es wäre, für Ihr Skript, viel einfacher, es zu einem Befehlszeilen-Dienstprogramm zu machen (installieren Sie Python in Ihrer Windows-Umgebung dann führen Sie Ihr Skript direkt von der Befehlszeile (cmd)).

+0

Wie würde ich das Skript über cmd ausführen? –

+0

Wenn Sie einen Befehl in cmd eingeben (z. B. "notepad", "dir"), führen Sie tatsächlich ein Programm unter C: \ Windows \ System32 \ aus, vorausgesetzt, das Stammlaufwerk ist C :. Sie können also python.exe unter diesem Ort platzieren, dann zum Pfad Ihrer Skriptdatei gehen, "python filename.py" eingeben, oder Sie können Ihre Skriptdatei zu einer ausführbaren Datei machen, denken Sie an diese [Einführung] (https: // mborgerson .com/creating-ein-executable-from-a-python-script) –

Verwandte Themen