Текст после компиляции «setPort (self, int): аргумент 1 имеет неожиданный тип ‘str'»

#python

#python

Вопрос:

Здравствуйте, я создаю веб-браузер, и у меня проблема с установкой прокси-порта с текстовым полем.

setPort(self, int): аргумент 1 имеет неожиданный тип ‘str’

setHostName работает отлично, но этот setPort нет…

 def on_click_button_reloadproxy(self):

        textboxproxyipValue = self.textboxproxyip.text()
        textboxproxyportValue = self.textboxproxyport.text()

        proxy = QtNetwork.QNetworkProxy()
        proxy.setType(QtNetwork.QNetworkProxy.HttpProxy)
        QtNetwork.QNetworkProxy.setApplicationProxy(proxy)

        proxy.setHostName(textboxproxyipValue)
        proxy.setPort(textboxproxyportValue)

  

Комментарии:

1. Почему вы передаете строку, когда setPort() требуется int ?

Ответ №1:

Ошибка сообщает вам, в чем проблема. setPort Метод ожидает целое число. Вы передаете ему значение текстового поля, которое будет строкой. Отсюда и сообщение об unexpected type 'str' ошибке.

Вам необходимо преобразовать значение текстового поля в целое число, прежде чем передавать его setPort .

 proxy.setPort(int(textboxproxyportValue))