С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
31 / 24 / 8
Регистрация: 01.04.2017
Сообщений: 118
1

Перевести на PyQt

31.07.2019, 00:43. Показов 1312. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, подскажите, как можно перевести на питон(PyQt) такие строки:
C++ (Qt)
1
2
3
4
    *series0 << QPointF(1, 5) << QPointF(3, 7) << QPointF(7, 6) << QPointF(9, 7) << QPointF(12, 6)
             << QPointF(16, 7) << QPointF(18, 5);
    *series1 << QPointF(1, 3) << QPointF(3, 4) << QPointF(7, 3) << QPointF(8, 2) << QPointF(12, 3)
             << QPointF(16, 4) << QPointF(18, 3);
Взято от сюда:https://doc.qt.io/qt-5/qtchart... ample.html

Добавлено через 32 минуты
Пытаюсь перевести пример из доков, пока вот наваял(но чет сомневаюсь):
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
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtChart import QChartView, QLineSeries,QAreaSeries
import AreaChart # Форма с виджетом из дизайнера
from PyQt5 import QtCore
from PyQt5.QtGui import QPainter, QColor, QPen
from PyQt5.QtCore import Qt
 
class ExampleApp(QMainWindow,AreaChart.Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.series0 = QLineSeries() #Для создания диаграмм области нам понадобятся два экземпляра QLineSeries
        self.series1 = QLineSeries() #Они собираются определить верхнюю и нижнюю границу области
        self.series0.append(QtCore.QPointF(1, 5))
        self.series0.append(QtCore.QPointF(2, 4))
        self.series = QAreaSeries(self.series0, self.series1)
        self.series.setName("Batman")
        self.pen = QPen(Qt.black)
        self.pen.setWidth(3)
        self.series.setPen(self.pen)
 
def main():
    app = QApplication(sys.argv)
    window = ExampleApp()
    window.show()
    app.exec_()
 
 
if __name__ == '__main__':
    main()
Добавлено через 1 час 29 минут
Обновил код:
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
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtChart import QChartView, QLineSeries,QAreaSeries,QChart
import AreaChart # Форма с виджетом из дизайнера
from PyQt5 import QtCore
from PyQt5.QtGui import QPainter, QColor, QPen,QLinearGradient,QGradient
from PyQt5.QtCore import Qt
 
class ExampleApp(QMainWindow,AreaChart.Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.series0 = QLineSeries()
        self.series1 = QLineSeries()
        self.series0.append(QtCore.QPointF(1, 5))#Здесь судя по всему должен быть массив(не понимаю, урезал)
        self.series0.append(QtCore.QPointF(2, 4))#Здесь судя по всему должен быть массив(не понимаю, урезал)
        self.series = QAreaSeries(self.series0, self.series1)
        self.series.setName("Batman")
        self.pen = QPen(Qt.black)
        self.pen.setWidth(3)
        self.series.setPen(self.pen)
        self.gradient=QLinearGradient(QtCore.QPointF(0, 0), QtCore.QPointF(0, 1))
        self.gradient.setColorAt(0, QColor(28, 28, 28))
        self.gradient.setColorAt(1, QColor(90, 60, 28))
        self.gradient.setCoordinateMode(QGradient.ObjectBoundingMode)
        self.series.setBrush(self.gradient)
        self.chart = QChart()
        self.chart.addSeries(self.series)
        self.chart.setTitle("Simple areachart example")
        self.chart.createDefaultAxes()
        self.chart.axes(Qt.Horizontal)#Здесь так и не понял что происходит,неменого урезал
        self.chart.axes(Qt.Vertical)#Здесь так и не понял что происходит,неменого урезал
        self.chartView =QChartView(self.chart)
        self.chartView.setRenderHint(QPainter.Antialiasing)
        self.setCentralWidget(self.chartView)
        self.resize(400, 300)
 
def main():
    app = QApplication(sys.argv)
    window = ExampleApp()
    window.show()
    app.exec_()
 
 
if __name__ == '__main__':
    main()
Не знаю как выделять "не по теме" Может вопрос нужно в ветку с питоном?

Добавлено через 1 минуту
На плюсах:
C++ (Qt)
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
#include <QtWidgets/QApplication>
#include <QtWidgets/QMainWindow>
#include <QtCharts/QChartView>
#include <QtCharts/QLineSeries>
#include <QtCharts/QAreaSeries>
 
QT_CHARTS_USE_NAMESPACE
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
 
//![1]
    QLineSeries *series0 = new QLineSeries();
    QLineSeries *series1 = new QLineSeries();
//![1]
 
//![2]
    *series0 << QPointF(1, 5) << QPointF(3, 7) << QPointF(7, 6) << QPointF(9, 7) << QPointF(12, 6)
             << QPointF(16, 7) << QPointF(18, 5);
    *series1 << QPointF(1, 3) << QPointF(3, 4) << QPointF(7, 3) << QPointF(8, 2) << QPointF(12, 3)
             << QPointF(16, 4) << QPointF(18, 3);
//![2]
 
//![3]
    QAreaSeries *series = new QAreaSeries(series0, series1);
    series->setName("Batman");
    QPen pen(0x059605);
    pen.setWidth(3);
    series->setPen(pen);
 
    QLinearGradient gradient(QPointF(0, 0), QPointF(0, 1));
    gradient.setColorAt(0.0, 0x3cc63c);
    gradient.setColorAt(1.0, 0x26f626);
    gradient.setCoordinateMode(QGradient::ObjectBoundingMode);
    series->setBrush(gradient);
//![3]
 
//![4]
    QChart *chart = new QChart();
    chart->addSeries(series);
    chart->setTitle("Simple areachart example");
    chart->createDefaultAxes();
    chart->axes(Qt::Horizontal).first()->setRange(0, 20);
    chart->axes(Qt::Vertical).first()->setRange(0, 10);
//![4]
 
//![5]
    QChartView *chartView = new QChartView(chart);
    chartView->setRenderHint(QPainter::Antialiasing);
//![5]
 
//![6]
    QMainWindow window;
    window.setCentralWidget(chartView);
    window.resize(400, 300);
    window.show();
//![6]
 
    return a.exec();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Блог
31.07.2019, 00:43
Ответы с готовыми решениями:

PyQt в среде Spyder, дистрибутив Anaconda
Добрый вечер. Один чел с горящими глазами установил Spyder, дистрибутив Anaconda. В ней есть...

Не могу перевести ui файл в .py (PyQt)
Имеется python 3.4 и Pyqt4. Создал форму в qt designer, но при попытке перевести xml формат(.ui)...

Как перевести код на PyQt в код на PySide?
Собственно сабж. Создается табличка QAbstractTableModel с двумя колонками и в последствии...

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

1
31 / 24 / 8
Регистрация: 01.04.2017
Сообщений: 118
31.07.2019, 00:49  [ТС] 2
Все чего достиг:
Перевести на PyQt

Должно быть:
Перевести на PyQt
0
31.07.2019, 00:49
cpp_developer
Эксперт
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 12,546
Блог
31.07.2019, 00:49
Помогаю со студенческими работами здесь

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

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

Pyqt GUI
Прошу помощи в подборе темы для диплома. Необходимо написать программу с GUI, решил писать на...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru