Qt: чтение текстового файла и отображение в LineEdit

У меня есть входной файл и командный файл. Когда пакетный файл выполняется с помощью системной команды, создается соответствующий выходной файл.

Теперь я хочу, чтобы определенный текст (позиции от 350 до 357) из этого файла был отображен в моем виджете lineedit

Вот эта часть моего кода:

 system("C:/ORG_Class0178.bat")

Теперь файл будет сгенерирован

 File.open("C:/ORG_Class0178_out.txt", 'r').each do |line|
    var = line[350..357]
    puts var   

# Проверить, читается ли файл.

    @responseLineEdit = Qt::LineEdit.new(self)
    @responseLineEdit.setFont Qt::Font.new("Times NEw Roman", 12)
    @responseLineEdit.resize 100,20
    @responseLineEdit.move 210,395 
    @responseLineEdit.setText("#{var}")
 end 

Когда я проверяю, читается ли файл с помощью оператора put, я получаю точный требуемый результат в редакторе. Однако тот же текст не отображается в LineEdit. Предложения приветствуются.

РЕДАКТИРОВАТЬ: проводное наблюдение здесь. Он отлично работает, когда я пытаюсь прочитать входной файл и отобразить его, однако он не работает с выходным файлом. Оператор put дает ответ в редакторе, подтверждающий, что выходной файл содержит необходимый текст. Я запутался по этому сценарию.

2 ответа

Нет ничего плохого в показанных фрагментах кода.

Обратите внимание, что var является локальной переменной Находятся ли второй и третий фрагменты кода в одном контексте? Если они в том же методе, и var не тронут промежуточный, он будет работать.

Если фрагменты принадлежат разным методам одного и того же класса, чем переменная экземпляра (@var) решит проблему.

Если все это не помогает, используйте Pry, чтобы преследовать проблему. Перейдите по ссылке, чтобы найти необходимые предварительные условия и способы их использования. Место binding.pry в вашем коде, и ваша программа остановится на этой строке. Затем проверьте, что делают ваши переменные.

Попробуйте 'rb' вместо 'r'

File.open("C:/ORG_Class0178_out.txt", 'rb').each do |line|
    var = line[350..357]
    puts var  
Другие вопросы по тегам