9 / 7 / 3
Регистрация: 25.06.2009
Сообщений: 396

pyqt - TypeError: unable to convert a Python 'int' object to a C++ 'QString' instance

04.08.2023, 16:42. Показов 838. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Мне нужно инкрементировать переменную и передавать ее в GUI на QML.
Код на python:
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
import sys
from PyQt5.QtCore import QUrl
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtQuick import QQuickView
 
from PyQt5.QtCore import pyqtSlot, QObject, pyqtProperty
 
class Content(QObject):
    def __init__(self):
        super().__init__()
        self._num = 0
    @pyqtProperty('QString')
    def result(self):
        self._num
        return self._num
    @pyqtSlot()
    def Inc(self):
        self._num += 1
        print(self._num)
 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    view = QQuickView()
    view.setSource(QUrl('main.qml'))
    content = Content()
    view.rootContext().setContextProperty('content', content)
    view.show()
    app.exec_()
    sys.exit()
Код QML:
JavaScript
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
import QtQuick 2.7
import QtQuick.Controls 1.4
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
import QtQuick.Controls.Material 2.2
import QtQuick.Window 2.15
 
 
Rectangle {
    visible:true
    width:700
    height:400
    color:"white"
 
    Button {
        anchors.centerIn: parent
        id: button_inc
        text: "Inc"
        y: 100
        x: 100
        onClicked: {
            content.Inc()
            num.text = content.result // вот тут должно выводится число
        }
    }
 
    Text {
        id: num
        text: ""
    }
 
}
Получаю ошибку:
Code
1
TypeError: unable to convert a Python 'int' object to a C++ 'QString' instance
Что не так делаю?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.08.2023, 16:42
Ответы с готовыми решениями:

Python TypeError: 'int' object is not callable
На парах решали задачи на Python и делали самый простой калькулятор. По приходу домой решил поиграться с ним и сделать получше, но visual...

Проблема с типами чисел. (TypeError: can't convert complex to int)
Итак,вот отрывок программы, PyCharm выдает ошибку,что я пытаюсь присвоить типу Complex тип integer. x1 = complex(round(x1.real, 6),...

TypeError: 'int' object is not callable
Не работает программа требует вести значения Traceback (most recent call last): File "E:\Новая папка (2)\Новая папка\n4.py", line...

3
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
04.08.2023, 16:53
Цитата Сообщение от Nesh Посмотреть сообщение
Что не так делаю?
Ну число в строку преобразуй

Добавлено через 2 минуты
Code
1
content.result.toString()
0
9 / 7 / 3
Регистрация: 25.06.2009
Сообщений: 396
04.08.2023, 16:56  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Ну число в строку преобразуй
Не помогло, та же ошибка.
0
290 / 205 / 68
Регистрация: 18.09.2019
Сообщений: 407
Записей в блоге: 58
04.08.2023, 21:02
Честно говоря, не знаю, как будет правильно, но если это:
Python
1
2
3
4
    @pyqtProperty('QString')
    def result(self):
        self._num
        return self._num
заменить на это:
Python
1
2
3
4
    @pyqtProperty('QString')
    def result(self):
        self._num
        return str(self._num)
то работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.08.2023, 21:02
Помогаю со студенческими работами здесь

TypeError: 'int' object is not iterable
надо сделать так чтобы вывелось и не максимальное число и не минимальное a=int(input('write your numbet ')) b=int(input('write...

TypeError: 'int' object is not callable
Начал изучать питон но столкнулся с проблемой. def d(): x=int(input("Введите: ")) y=int(input("Введите: ")) ...

TypeError: 'int' object is not subscriptable
a = b = n = int ( input()) n-=1 for i in range ( 0 , n ): a = int (input()) b = int (input()) for z in range (0 ,n ...

TypeError: 'int' object is not subscriptable
i = l = z = 0 dlina = 0 for l in l: dlina=dlina+l*2 z=z+1 print(dlina, z) Ошибка:

TypeError: 'int' object is not subscriptable
a = int(input()) lat = lst = for i in range(a): lst.append(i) if int(i) >= 4: lat.append(i) for i in...


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

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

Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru