Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
pazurs
27 / 21 / 6
Регистрация: 01.04.2017
Сообщений: 99
1

Из QT в PyQt

12.02.2020, 13:50. Просмотров 888. Ответов 4
Метки нет (Все метки)

Здравствуйте, подскажите правильно ли у меня получился перевод из
QT в PyQt? Интересует именно выполнение класса QCoreApplication и соответственно его методов.
Исходник:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <QCoreApplication>
#include <QFile> //Подключаем для работы с классом QFile
 
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QFile fileIn("filein.txt"); 
    QFile fileOut("fileout.txt");
    if(fileIn.open(QIODevice::ReadOnly) &&fileOut.open(QIODevice::WriteOnly)) 
    { //Если первый файл открыт для чтения, а второй для записи успешн
        QByteArray block = fileIn.read(10); // Считываем 10 байт в массив block из filein.txt
        fileOut.write(block); // Записываем 10 байт в файл fileout.txt
        fileIn.close(); // Закрываем filein.txt
        fileOut.close(); // Закрываем fileout.txt
    }
    return a.exec();
}
Результат:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import sys
from PyQt5.QtCore import QCoreApplication, QFile, QIODevice, QByteArray
 
def main():
    fileIn = QFile("filein.txt")
    fileOut = QFile("fileout.txt")
    # Если первый файл открыт для чтения, а второй для записи успешнo
    if fileIn.open(QIODevice.ReadOnly) and fileOut.open(QIODevice.WriteOnly):
        block = QByteArray(fileIn.read(10))  # Считываем 10 байт в массив block из filein.txt
        fileOut.write(block)  # Записываем 10 байт в файл fileout.txt
        fileIn.close()  # Закрываем filein.txt
        fileOut.close()  # Закрываем fileout.txt
 
if name == 'main':
    app = QCoreApplication(sys.argv)
    main()
    sys.exit(app.exec_())
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2020, 13:50
Ответы с готовыми решениями:

PyQt классы
Всем привет. Такой вопрос назрел. Вот создал я через QtDesigner форму. Сделала из ui класс на...

Paint pyqt
Добрый вечер, помогите разобраться с кодом я в Python (pyqt, Desinger) новичок. Можете обяснить по...

SetText в PyQt
Привет. Появилась такая проблема. Когда в цикле хочу установить значение в QLineEdit c помощью...

PyQT Табуляторы
Народ подскажите как сделать чтобы один и тот же Виджет был сразу на всех табах? Такое возможно...

PyQt, Qt и ScrollArea
Доброй ночи. В этот раз кода не будет, так как клин. Из русскоязычных мануалов по PyQt только...

4
dondublon
3610 / 1534 / 288
Регистрация: 17.03.2012
Сообщений: 8,414
Записей в блоге: 5
12.02.2020, 16:43 2
ПММ, QCoreApplication тут вообще не нужен.
0
pazurs
27 / 21 / 6
Регистрация: 01.04.2017
Сообщений: 99
12.02.2020, 18:30  [ТС] 3
нет, именно перевод.Интересует именно выполнение класса QCoreApplication и соответственно его методов.Так-то понятно,что переписать данные можно и без него
0
vic5710
390 / 284 / 131
Регистрация: 10.12.2016
Сообщений: 865
12.02.2020, 22:06 4
Лучший ответ Сообщение было отмечено pazurs как решение

Решение

дословно будет
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import sys
from PyQt5.QtCore import QCoreApplication, QFile, QIODevice, QByteArray
 
if __name__ == "__main__":
    app = QCoreApplication(sys.argv)
    fileIn = QFile("filein.txt")
    fileOut = QFile("fileout.txt")
    # Если первый файл открыт для чтения, а второй для записи успешнo
    if fileIn.open(QIODevice.ReadOnly) and fileOut.open(QIODevice.WriteOnly):
        block = QByteArray(fileIn.read(10))  # Считываем 10 байт в массив block из filein.txt
        fileOut.write(block)  # Записываем 10 байт в файл fileout.txt
        fileIn.close()  # Закрываем filein.txt
        fileOut.close()  # Закрываем fileout.txt
    sys.exit(app.exec_())
int main() нужна в С/С++ обязательно, это точка входа в программу
1
pazurs
27 / 21 / 6
Регистрация: 01.04.2017
Сообщений: 99
13.02.2020, 04:16  [ТС] 5
А куда возвращается return a.exec()?
Как я понял строка:int main(int argc, char *argv[]) является аналогом if __name__ == "__main__":,Верно?

Добавлено через 1 час 50 минут
Да теперь я вижу ваш код более правильный
0
13.02.2020, 04:16
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2020, 04:16

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

QCheckBox в PyQt
Никак не могу присобачить stateChanged из QCheckBox к какому-либо действию. Делаю примерно так: ...

PyQT+OpenCV
Имеется следующий код, который работает в консоли (распознавание номерных знаков) class...

PyQt и QtDesigner
Никак не могу вкурить как назначать на обработчики событий свои процедуры. вот пример который я...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.