ich würde gerne in Python3 , pyqt5 im Textbrowser das output des commands ('netsh wlan show networks') ausgeben . Leider ist das nicht so einfach wie gedacht und bisherige Recherche hat sich nicht gut verkauft...
Vielen Dank im vorraus.
Die simple cli-version ist diese:
(Problematik mit ! "" makiert.)
Code: Alles auswählen
#import subprocess
import os
import sys
import time
from time import sleep
def scan():
print("Scanning..")
#os.system('netsh wlan disconnect')
disconnect()
time.sleep(1.5)
os.system('netsh wlan show networks')
def disconnect():
print("Disconnecting.")
os.system('netsh wlan disconnect')
def connect():
print("Connecting.")
def tracing():
print("Show tracing.")
os.system('netsh wlan show tracing')
def interfaces():
print("Show interfaces.")
os.system('netsh wlan show interfaces')
def wlanreport():
print("Wlanreport.")
os.system('netsh wlan show wlanreport')
def all():
print("Show all.")
os.system('netsh wlan show all')
def main():
while True:
print("===============================")
print("== WifiManager - v0.1 ==")
print("===============================")
print("=| 1: scan | 2: connect |=")
print("=| 3: interfaces| 4: tracing |=")
print("=| 5: wlanreport| 6: all |=")
print("===============================")
x = input("admin@WifiManager:~$ ")
if x == "1":
scan()
if x == "2":
connect()
if x == "3":
interfaces()
if x == "4":
tracing()
if x == "5":
wlanreport()
if x == "6":
all()
if __name__ == '__main__':
main()
Code: Alles auswählen
# main.py
import sys
from PyQt5 import QtWidgets
from MainWindow import Ui_MainWindow
class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setupUi(self)
app = QtWidgets.QApplication(sys.argv)
window = MainWindow()
window.show()
app.exec()
# Ui_file
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file '/mnt/x/Development/Projekte/WIFIMGR_/mainwindow/form.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
import subprocess
import os
from subprocess import *
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 600)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.scanbtn = QtWidgets.QPushButton(self.centralwidget)
self.scanbtn.setGeometry(QtCore.QRect(500, 410, 80, 24))
self.scanbtn.setObjectName("scanbtn")
self.scanbtn.clicked.connect(self.scanner)
self.textBrowser = QtWidgets.QTextBrowser(self.centralwidget)
self.textBrowser.setGeometry(QtCore.QRect(70, 90, 641, 231))
self.textBrowser.setObjectName("textBrowser")
MainWindow.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "WifiManager"))
self.scanbtn.setText(_translate("MainWindow", "scan"))
def scanner(self):
self.textBrowser.append("Start scanning.., disconnecting device to perform a full scan.")
!""
#stdout = Popen('netsh wlan show networks', shell=True, stdout=PIPE).stdout
output = stdout.read()
#print(output)
!""
#out = os.system('netsh wlan show networks')
#new_ = out.encode(encoding='utf-8')
!""
#self.textBrowser.append(subprocess.check_output('cmd /k netsh wlan show networks'))