Задать вопрос
@vadimeasy

Как установить ЕСЛИ в Checkbutton Tkinker?

Привет, делаю программу для клиентов, чтобы они сами себе устанавливали софт который нужен для работы. Есть определенный модуль(не могу разглашать) для него нужно уставить сам модуль, OpenVPN, и проводить настройки. Скрипт настроек на компьютере я прописал через PyAutoGUI, VPN я устанавливаю через ZipFile в нужную мне дирректорию. Сейчас делаю интерфейс через Tkinter, мне нужно установить в интерфейсе, что клиент будет себе загружать.
617d088ae23dd147862812.png
Получается сделать только так, что при нажатии на Checkbutton сразу запускается функция, а мне нужно сделать так чтобы пользователь поставил галочки, где нужно и нажал установить, затем начали запускаться функции выбанных значений. Подскажите, как можно это реализовать. Вот код:
import os
import time
import pyautogui as pag 
import time
import os 
import shutil
from os import path
from shutil import copyfile
import glob
import zipfile

def setup():
    os.startfile('Start.py', 'runas')
    
    
    

def set_set():
    port = str(input("Введите ваш порт: "))
    command = str("New-NetFirewallRule -DisplayName 'UTM_transport'".format())
    command1 = str(" -Profile @('Domain', 'Private', 'Public' ) ".format())
    command2 = str("-Direction Inbound -Action Allow -Protocol TCP -LocalPort @('8228')".format())

    VPN = str('Set-Service OpenVPNService -startuptype automatic -passthru'.format())
    UTM = str('Set-Service Transport -startuptype automatic -passthru'.format())

    restartVPN = str('Restart-Service -Name OpenVPNService'.format())
    restartUTM = str('Restart-Service -Name Transport'.format())

    # Запуск скрипта и отработка
    os.startfile('powershell', 'runas')
    time.sleep(3)
    if command == ("New-NetFirewallRule -DisplayName 'UTM_transport'"):
        pag.typewrite(command, 0.01)
        pag.typewrite(command1, 0.01)
        pag.typewrite(command2, 0.01)
        pag.press('enter') 


        time.sleep(1)
        pag.typewrite(VPN, 0.01)
        time.sleep(1)
        pag.press('enter')
        time.sleep(1)
        pag.typewrite(UTM, 0.01)
        pag.press('enter')

        time.sleep(1)
        pag.typewrite(restartUTM, 0.01)
        pag.press('enter')
        time.sleep(1)
        pag.typewrite(restartVPN, 0.01)
        pag.press('enter')
        pag.typewrite('exit')
        pag.press('enter')    


# def set_vpn():

    	
    # directory_file = (r"C:/Users/kolom/Desktop/Main programm/Auto_EGAIS/OpenVPN.zip")
    # # directory_file_unpuck = str(input('Куда распаковать:'))

    # fantasy_zip = zipfile.ZipFile(directory_file)
    # fantasy_zip.extractall(r'C:/Program Files')


    # print('Successfully')

    # fantasy_zip.close()


import tkinter as tk 
from tkinter import * 
win = tk.Tk()
frame = Frame()
photo = tk.PhotoImage(file='ico.ico')
win.iconphoto(False, photo)
win.config(bg='#CCC')
win.title('UTM Настройка')
win.geometry("500x300+590+240")


label_1 = tk.Label(win, text='Выбери, что будем устанавливать.', bg='#CCC', font=('Arial',14))
label_1.pack()

var = tk.StringVar()
var.set("OFF")
settings_utm = tk.Checkbutton(text="Настроить связь с сервером",bg='#CCC',onvalue=1, font=('Arial',12))

settings_utm.pack(anchor=W, padx=20)

setup_utm = tk.Checkbutton(text="Установить УТМ",bg='#CCC',onvalue=1, font=('Arial',12))
setup_utm.pack(anchor=W, padx=20)

setup_vpn = tk.Checkbutton(text="Установить Open VPN",bg='#CCC',onvalue=1, font=('Arial',12))
setup_vpn.pack(anchor=W, padx=20)

btn = tk.Button(win, text='Установить', command=setup)
btn.pack()

win.resizable(False, False)
  • Вопрос задан
  • 84 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы