Я делаю GUI и, чтобы привести его в порядок, я изучаю возможность извлечения основных функций из внешнего скрипта, и основной GUI вызывает это.
Внешний модуль должен уметь читать данные виджета и манипулировать ими.
Так, например:
У меня есть скрипт, у которого есть база графического интерфейса, и когда он запускается, открывает его.
У меня есть другой скрипт внутри папки, в котором будет содержать модули для выполнения функции графического интерфейса.
Основной скрипт GUI должен иметь возможность вызывать эти модули / функции, и они должны иметь возможность редактировать виджеты.
Я провел некоторые исследования, и ни одно из них не помогает,большинство вопросов касаются функций, которые есть в основном скрипте, и я уже знаю, как это сделать.
Основной скрипт GUI
import os, sys, ttk, pyodbc
from Tkinter import *
import Utils.Common as Common
class GUI:
def __init__(self, *args):
self.style = ttk.Style()
font = "TkDefaultFont"
root.title(uiTitle)
root.iconbitmap(uiIcon)
root.geometry(uiGeometry)
self.connectBtn = ttk.Button(root, width=65)
self.connectBtn.configure(text="Connect", command=Common.connectCleardox)
self.connectBtn.grid(row=0, columnspan=4)
self.exampleEnt = Entry(root, width=30)
self.exampleEnt.grid(row=1, columnspan=4)
if __name__ == '__main__':
root = Tk()
GUI(root)
root.mainloop()
Utils / Common.py
import tkMessageBox
from Tkinter import *
sys.path.insert(0, r'\\cd3\IT\Python\#PythonLibraries\Modules')
from CommonDB import Database
def connectCleardox():
try:
cleardoxConnection = Database.ConnectDatabase(Database(r"\\cd3\IT\Python\#PythonLibraries\ConfigFiles\Cleardox\Cleardox ConfigFile.json"))
exampleEnt.insert(0, 'Success') #The widget from the GUI
except Exception as e:
tkMessageBox.showerror('uiTitle', "Database connection failed.\n\n%s" % (e))
exampleEnt.insert(0, 'Fail') #The widget from the GUI
return
Пожалуйста, дайте мне знать, если я слишком расплывчат или не даю достаточно описания.
Спасибо всем за ваше время.
Дилан.