я хочу создать графический интерфейс с использованием pyqt5..и мое требование заключается в том, что я хочу печатать случайные значения на дисплее..программа для случайного значения написана на c..и я успешно запустил свой код c в pythonСкрипт через модуль в Python с именем «subprocess». Программа c правильно генерирует случайные значения, но проблема в том, что графический интерфейс, созданный мной через python, просто принимает одно случайное значение и отображает его на дисплее. Он не показывает всегенерируемые случайные значения (это мое требование) .. мое требование заключается в том, чтобы графический интерфейс постоянно отображал все генерируемые значения.
я использовал виджет lcdnumber из pyqt..я прилагаю мой образецкод и Python и c.
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'speedreading.ui'
# Created by: PyQt5 UI code generator 5.13.0
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
import threading
import subprocess
import time
def count():
global read
read=subprocess.call('./a.out')
return read
t=threading.Thread(target=count)
class Ui_DigitalMeter(object):
def setupUi(self, DigitalMeter):
DigitalMeter.setObjectName("DigitalMeter")
DigitalMeter.resize(575, 403)
self.centralwidget = QtWidgets.QWidget(DigitalMeter)
self.centralwidget.setObjectName("centralwidget")
self.lcdNumber = QtWidgets.QLCDNumber(self.centralwidget)
self.lcdNumber.setGeometry(QtCore.QRect(170, 90, 241, 171))
self.lcdNumber.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.lcdNumber.setFrameShadow(QtWidgets.QFrame.Raised)
self.lcdNumber.setDigitCount(10)
self.lcdNumber.setMode(QtWidgets.QLCDNumber.Dec)
self.lcdNumber.setSegmentStyle(QtWidgets.QLCDNumber.Flat)
self.lcdNumber.display(count())
self.lcdNumber.connect(count)
self.lcdNumber.setObjectName("lcdNumber")
DigitalMeter.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(DigitalMeter)
self.menubar.setGeometry(QtCore.QRect(0, 0, 575, 21))
self.menubar.setObjectName("menubar")
DigitalMeter.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(DigitalMeter)
self.statusbar.setObjectName("statusbar")
DigitalMeter.setStatusBar(self.statusbar)
self.retranslateUi(DigitalMeter)
QtCore.QMetaObject.connectSlotsByName(DigitalMeter)
def retranslateUi(self, DigitalMeter):
_translate = QtCore.QCoreApplication.translate
DigitalMeter.setWindowTitle(_translate("DigitalMeter", "MainWindow"))
if __name__ == "__main__":
import sys
t.start()
app = QtWidgets.QApplication(sys.argv)
DigitalMeter = QtWidgets.QMainWindow()
ui = Ui_DigitalMeter()
ui.setupUi(DigitalMeter)
DigitalMeter.show()
sys.exit(app.exec_())
c код выглядит следующим образом:
#include <stdio.h>
#include <stdlib.h>
#include<time.h>
int main()
{
srand(time(0));
int i=rand() % 20;
printf("%d\n",i);
return i;
}
, пожалуйста, помогите мне решить эту проблему ... Спасибо ..