1
class QuickScan:
#GUI

    def __init__(self,root,frame):
        self.root = root
        self.frame = frame


        self.mainVTURLframe = ttk.LabelFrame(frame, text='Quick Scan Report')
        self.mainVTURLframe.grid(column=0,row=1,padx=8,pady=4)

        ttk.Label(self.mainVTURLframe, text="Progress:").grid(column=0,row=1,sticky='W')
        self.progressBar = ttk.Progressbar(self.mainVTURLframe, orient='horizontal',length=300, mode='determinate')
        self.progressBar.grid(column=1,row=1)

        ttk.Label(self.mainVTURLframe, text="Status:").grid(column=0, row=3, sticky='W')  # <== right-align
        self.status = StringVar()
        statusEntry = ttk.Entry(self.mainVTURLframe, width=Consts.ENTRY_WIDTH, textvariable=self.status, state='readonly')
        statusEntry.grid(column=1, row=3, sticky='W')
    
        chooseFileButton = ttk.Button(self.mainVTURLframe, text="Scan Now!", width=40,command=self.getfile).grid(column=1, row=0)

    def md5(self,fname):
        hash_md5 = hashlib.md5()
        try:
            with open(fname, "rb") as f:
                for chunk in iter(lambda: f.read(2 ** 20), b""):
                    hash_md5.update(chunk)
        except Exception:
            pass
        return hash_md5.hexdigest()

    def get_all_abs_paths(self,rootdir):
        viruslist = open('C:/FYP/SecuCOM2022/virusshare.md5.txt','rt')
        virusinside = [l.rstrip() for l in viruslist]
        paths = list()
        virus="detected"
        novirus="clear"
        for dirpath,_,filenames in os.walk(rootdir):
            for f in filenames:
                paths.append(os.path.abspath(os.path.join(dirpath, f)))

        for filename in paths:
            print(filename, self.md5(filename))
            if self.md5(filename) in virusinside:
                print(virus)
                os.remove(filename)
            else:
                print(novirus)

    def getfile(self):
        file2=('C:/Users/User/Desktop/irustesting')
        file3=('C:/Users/User/Desktop/testvirus')
        self.get_all_abs_paths(file2)
        self.get_all_abs_paths(file3)

I am trying to show the terminal output inside the Status bar, is there any solution or suggestion to do that? I had try others method in stackoverflow but didn't work.

Below is my GUI to make it more clear and understanding. enter image description here

Jun Jie Ong
  • 33
  • 1
  • 5
  • Does this answer your question? [How to embed a terminal in a Tkinter application?](https://stackoverflow.com/questions/7253448/how-to-embed-a-terminal-in-a-tkinter-application) – emptyhua Oct 09 '21 at 13:49
  • @emptyhua: Just FYI, this solution is not portable (for example, it doesn't work on Windows). – Sylvester Kruin Oct 09 '21 at 15:44

0 Answers0