0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 77

Сделать вывод программы в текстовый виджет pyqt4 по нажатию кнопки

14.05.2016, 15:53. Показов 5472. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добрый день, такая загвоздка у меня случилась - создал гуи через QT Designer, транслировал в .py, попытался интегрировать с моей программой, после уймы попыток смог достичь работы 2-х(присутствующих кнопок) но суть в том что при нажатии на кнопку "Run WSEM dynamic" весь аутпут происходит в консоли, и я никак не могу сделать вывод из консоли в текстовый виджет который присутствует у меня в гуи.

Вот код собственно гуи файла:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
from PyQt4 import QtCore, QtGui
from matplotlib.backends.qt_compat import QtWidgets
 
from me_dyn import start_dyn
from PyQt4.QtCore import pyqtSlot
try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s
 
try:
    _encoding = QtGui.QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig)
 
 
 
 
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName(_fromUtf8("MainWindow"))
        MainWindow.resize(902, 672)
        self.centralwidget = QtGui.QWidget(MainWindow)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        self.runbutton = QtGui.QPushButton(self.centralwidget)
        self.runbutton.setGeometry(QtCore.QRect(10, 10, 171, 51))
        self.runbutton.setObjectName(_fromUtf8("runbutton"))
        self.plainTextEdit = QtGui.QPlainTextEdit(self.centralwidget)
        self.plainTextEdit.setGeometry(QtCore.QRect(10, 80, 881, 581))
        self.plainTextEdit.setObjectName(_fromUtf8("plainTextEdit"))
        self.Exitbutton = QtGui.QPushButton(self.centralwidget)
        self.Exitbutton.setGeometry(QtCore.QRect(780, 10, 112, 34))
        self.Exitbutton.setObjectName(_fromUtf8("Exitbutton"))
        MainWindow.setCentralWidget(self.centralwidget)
 
        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
        self.runbutton.clicked.connect(lambda:start_dyn())
        self.Exitbutton.clicked.connect(QtCore.QCoreApplication.instance().quit)
 
    def retranslateUi(self, MainWindow):
        MainWindow.setWindowTitle(_translate("MainWindow", "WSEM Dynamics", None))
        self.runbutton.setText(_translate("MainWindow", "Run WSEM dynamic", None))
        self.Exitbutton.setText(_translate("MainWindow", "Exit", None))
 
 
 
if __name__ == "__main__":
    import sys
    app = QtGui.QApplication(sys.argv)
    MainWindow = QtGui.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())


а это рабочая программа которую запускаю через кнопку "Run WSEM dynamic" и аут которой и нужно вывести в виджет

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
 
import random
import matplotlib.pyplot as plt
import me_contacts
import me_energy
 
 
 
from me_pdbread import *
from datetime import *
 
P_flip = .4
def start_dyn():
    print("\nRun little bottom program, Run!")
    tstart = datetime.now()
    print tstart
    M = 100
    Nr = length
    T0 = .25
    e_list = []
    m_list = []
    # вот создал список
    list0 = [random.randint(0, 1) for i in range(Nr)]
    print "\nвот наш начальный список без Б    - ", list0, "\n"
    listime = range(1, M)
    print ("\nтеперь ка пожалуй сгенерим матрицу : \n")
    matrix = me_contacts.wsme_contacts_pdb()
    for r in matrix:
        print r
    print "\ninitial energy = ", me_energy.me_energy(matrix, list0), "\n"
    print "initial moment = ", sum(list0)*Nr**(-1), "\n"
    e_list.append(me_energy.me_energy(matrix, list0))
    m_list.append(sum(list0)*Nr**(-1))
    for t in listime:
        while True:
            i = random.randint(0, Nr-1)
            list1 = list0
            if list1[i] == 1:
                list1[i] = 0
            elif list1[i] == 0:
                list1[i] = 1
            e0 = me_energy.me_energy(matrix, list0)
            e1 = me_energy.me_energy(matrix, list1)
            delta_e = e1 - e0
            P_flip = 1/(1+math.exp(delta_e/T0))
            if P_flip > random.random():
                list0 = list1
                e_list.append(me_energy.me_energy(matrix, list0))
                m_list.append(sum(list0)*Nr**(-1))
                break
            else:
                continue
    print 'Energy list = ', e_list, '\n'
    print "Moment list = ", m_list, "\n"
    print ("вот конечная конформация - "),  list0, ("\n")
    print "final energy = ", me_energy.me_energy(matrix, list0), "\n"
    print "final moment = ", sum(list0)*Nr**(-1), "\n"
    tend = datetime.now()
    delta = tend - tstart
    print("\nDo you remember the bottom program, that was standing and defending itself? Well, that has changed - "), tend, "\n"
    print "Current run taked = ", delta, "sec."
    plt.figure(1)
    plt.subplot(211)
    plt.plot(e_list)
    plt.subplot(212)
    plt.plot(m_list,color='r')
    plt.show()

Весь гугл прошел с похожими темами и вопросами - но ответа подходящего к моему коду не нащёл. Помогите пожалуйста(
Заранее спасибо

P.S. вот скрин гуи
Миниатюры
Сделать вывод программы в текстовый виджет pyqt4 по нажатию кнопки  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.05.2016, 15:53
Ответы с готовыми решениями:

Вывод работы программы в листбокс по нажатию кнопки
люди помогите написал готовую программку генератор (одну из своих первых) теперь хотел бы сделать так что результат будет выводиться в...

Как сделать вывод данных из файла в словарь по нажатию кнопки?
Есть файл results.txt в котором на первом месте стоит имя игрока,а на втором его результат. Как вывести данные из файла в словарь по...

Как сделать вывод данных из файла в словарь по нажатию кнопки?
нужно вывести имя игрока и его результат из файла форматом .txt d словарь(где на первом месте key,а на втором value) на первом месте...

3
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
14.05.2016, 17:46
Вот по этому я против всяких дизайнеров, новички не понимают, что делают.
Ты выходишь информацию с помощью print, естественно она в консоли будет выводиться.
0
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 77
14.05.2016, 18:02  [ТС]
ну так я же не настаиваю на выводе через принт, я искал всё что можно по этой теме и смотрел примеры, и если бы нащёл такой где бы говорилось как(куда) убрать(на что заменить) эти принты - чтоб всё заработало я был бы только счастлив)
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
14.05.2016, 19:50
Python
1
2
3
4
5
6
7
8
from PyQt4 import QtGui
 
app = QtGui.QApplication([])
window = QtGui.QPlainTextEdit()
window.appendPlainText('первая строка')
window.appendPlainText('вторая строка')
window.show()
app.exec_()
Открываешь документацию к виджету QPlainTextEdit и видишь там, что текст добавить в него можно с помощью метода appendPlainText. Дальше используешь этот метод и радуешься жизни.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.05.2016, 19:50
Помогаю со студенческими работами здесь

Нужно сделать вывод результата программы в текстовый файл
Вообщем есть программа уже составленная, надо сделать вывод результата программы в файл, т.е. я записываю в файл input.txt число, запускаю...

Запись в текстовый файл по нажатию кнопки
Подскажите, как в MS Visual C++ для приложения Windows Forms сделать так, чтобы при нажатии кпонки, находящейся на форме, происходила...

Сохранение в текстовый файл по нажатию кнопки
Дамы и господа, столкнулся с задачей. Суть такова: по нажатию на кнопку в форме, у пользователя на локальном диске (С) должен создаться...

Как в строчку меню вывести виджет поиска и текстовый виджет?
Добрый день. Подскажите как в сточку меню вывести виджет поиска и текстовый виджет (или вариант одно строчного виджета типа Gtranslate)? ...

Сохранять содержимое TextBox-ов в Word или текстовый документ по нажатию кнопки
Подскажите как сделать так, что бы при нажатии на button всё, что будет написано textBox'ы сохранялось в Word или текстовый документ? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru