Уведомления

Группа в Telegram: @pythonsu

#1 Июль 5, 2017 21:09:29

Venus
Зарегистрирован: 2017-05-19
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача значений из QT5 в Python3

Здравствуйте
а кто нить может по пальцам или на пальцах объяснить, как передать значения введёные в гуи в скрипт питона3 и по нажатию кнопки старт или стоп запускать-останавливать скрипт питона3
Your text to link here…
в интернете примеры работы с одним файлом(скриптом) а как с несколькими и передача значений из приложения в скрипт из скрипта вывод в гуи,не понимаю (

Отредактировано Venus (Июль 5, 2017 21:15:01)

Прикреплённый файлы:
attachment SnapShot.png (150,9 KБ)

Офлайн

#2 Июль 5, 2017 22:52:52

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Передача значений из QT5 в Python3

Вообще вариантов несколько начиная с обычного импорта, exex-а и заканчивая subprocess.Popen-ом
можно написать простой скрипт и вызывать его с параметрами и парсить через sys.argv, getopt или optparse. А можно впихнуть его в функцию и вызывать соотвественно.
пример main.py:

 from PyQt4 import QtGui
import sys
import my_ext # импортируем наш внешний скрипт
class MainWindow(QtGui.QWidget):
    # ГУИ
    def __init__(self):
        super().__init__()
        layout = QtGui.QVBoxLayout(self)
        self.lineEdit =  QtGui.QLineEdit()
        layout.addWidget(self.lineEdit)
        okBtn = QtGui.QPushButton('Run script')
        layout.addWidget(okBtn)
        okBtn.clicked.connect(self.runScript)
        self.show()
    def runScript(self):
        param = self.lineEdit.text() # получаем данные введенные в лайнЕдит
        my_ext.myScript(param)       # запускаем "внешний" скрипт с параметром
app = QtGui.QApplication(sys.argv)
mw = MainWindow()
sys.exit(app.exec_())
my_ext.py:
 # наш внешний скрипт
def myScript(param):
    print('runing external script func with param', param)



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#3 Июль 6, 2017 08:10:31

Venus
Зарегистрирован: 2017-05-19
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача значений из QT5 в Python3

PEHDOM
Вообще вариантов несколько начиная с обычного импорта, exex-а и заканчивая subprocess.Popen-омможно написать простой скрипт и вызывать его с параметрами и парсить через sys.argv, getopt или optparse. А можно впихнуть его в функцию и вызывать соотвественно.пример main.py:

а тут можно поподробней
def myScript(param):
print('runing external script func with param', param)
———-^вот это что значит ? ^ ——————–^а эт параметры(её не трогать или какието параметры чего то ввести надо?

я правельно подумал что в def myScript(param):, надо будет прописать чтот типо этого
def myScript(param):
n=int(n)
x=int(x)
y=x+n
print('окошечко с суммой',param)
ну и для разности ток с минусом

Отредактировано Venus (Июль 6, 2017 08:12:08)

Офлайн

#4 Июль 6, 2017 09:24:22

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Передача значений из QT5 в Python3

Venus
а тут можно поподробней
def myScript(param):
print('runing external script func with param', param)
———-^вот это что значит ? ^ ——————–^а эт параметры(её не трогать или какието параметры чего то ввести надо?
это просто пример, котороый показывает что запущена процедура из другого скрипта.
Venus
я правельно подумал что в def myScript(param):, надо будет прописать чтот типо этого
def myScript(param):
n=int(n)
x=int(x)
y=x+n
print('окошечко с суммой',param)
ну и для разности ток с минусом

нет, если вам нужно сложить x и n то myScript будет выглядеть вот так:
 def myScript(x, n):
... дальше все как у вас
Чтобы обработать аргумент нужно его передать.
Соотвественно runScrip нужно изменить на
 def runScript(self):
        n = self.lineEdit_n.text() 
        y = self.lineEdit_x.text()
        my_ext.myScript(x, n)
Естественно на форме у вас должно быть два лайнЕдита куда вы вводите n и x.
Конечно же можно вводить числа в один лайнедит разделяя пробелом или еще чемто, а потом парсить выходную строку, но в данном случае это неправильно. Такой подход имеет смысл только если вы получаете данные откудато извне в виде одной строки. Иначе для каждой переменной отдельный элемент ГУЯ.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#5 Июль 6, 2017 16:08:31

Venus
Зарегистрирован: 2017-05-19
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача значений из QT5 в Python3

PEHDOM
Вообще вариантов несколько начиная с обычного импорта, exex-а и заканчивая subprocess.Popen-омможно написать простой скрипт и вызывать его с параметрами и парсить через sys.argv, getopt или optparse. А можно впихнуть его в функцию и вызывать соотвественно.пример main.py:
from PyQt4 import QtGui а для qt5 так же выглядит? и почему используется lineEdit? если окошко для ввода и выводы текстедит, так для примера т.е. вместо лайнедит вставить текстедит?

Офлайн

#6 Июль 6, 2017 17:34:30

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Передача значений из QT5 в Python3

Venus
from PyQt4 import QtGui а для qt5 так же выглядит?
QtGui из PyQt4 в пятерке разделен на три модуля QtGui, QtPrintSupport и QtWidgets, учитывайте это. Узнать что где можно из офф документации.
Venus
и почему используется lineEdit? если окошко для ввода и выводы текстедит,
в Qt QLineEdit - однострочное окно ввода, QTextEdit - моногострочное окно ввода.
Это всего лишь пример, вы можете передавать любые данные из любых виджетов, а также любые обьекты и инстансы классов. Все ограничиваться только вашей фантазией.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#7 Июль 6, 2017 21:07:41

Venus
Зарегистрирован: 2017-05-19
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача значений из QT5 в Python3

PEHDOM

PEHDOM
а тут в личку писать низя? можно вам на почту напишу

Офлайн

#8 Июль 6, 2017 21:52:23

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Передача значений из QT5 в Python3

Venus
а тут в личку писать низя? можно вам на почту напишу
Походу нельзя… попробуйте на почту.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#9 Июль 7, 2017 20:36:11

Venus
Зарегистрирован: 2017-05-19
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача значений из QT5 в Python3

PEHDOM
попробовал, получили?

Офлайн

#10 Июль 7, 2017 22:03:36

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Передача значений из QT5 в Python3

нет, хотя сам себе отправил нормально….



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version