Привет, я пишу программу в python и pyqt4 для управления усилителем. Программа подключается к последовательному порту (pyserial module). Теперь я хочу изменить свою версию, чтобы ее можно было использовать на других платформах и компьютерах. Я уже загрузил и добавил список со всеми последовательными портами в ComboBox. Поскольку из-за усталости выбирать и подключать порт каждый раз, когда я запускаю программу, я хочу, чтобы ComboBox сохранил последний выбранный порт и подключился к нему. Я новичок в Python и понятия не имею. Как сохранить и загрузить последнюю строку, выбранную в ComboBox?Как сохранить и загрузить текст в ComboBox с помощью Python?
ответ
Все, что я могу придумать, это сделать некоторые файлы ввода-вывода.
Скажем, у вас есть файл index.txt. Вам нужно будет сохранить индекс, поэтому каждый раз, когда поле со списком активируется, вы открываете файл в режиме чтения, читаете номер внутри, закрываете файл, меняете целое число на индекс текущего элемента, открываете файл в режиме записи , напишите новое целое число и закройте файл снова. Таким образом, у вас всегда есть индекс последнего выбранного элемента, хранящийся в файле.
Затем при запуске вы снова открываете файл и читаете строку внутри. Вы устанавливаете текущий индекс combobox в значение этой строки, используя .setCurrentIndex(). Это автоматически подключится к сигналу currentIndexChanged() combo box.
Вот пример программы:
import sys
from PyQt4 import QtGui, QtCore
class Main(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.initUI()
def initUI(self):
centralwidget = QtGui.QWidget()
self.combo = QtGui.QComboBox(self)
self.combo.addItem("Serial 1")
self.combo.addItem("Serial 2")
self.combo.addItem("Serial 3")
self.combo.addItem("Serial 4")
self.combo.addItem("Serial 5")
self.combo.currentIndexChanged[str].connect(self.Show)
f = open("index.txt","rt")
index = f.read()
f.close()
self.combo.setCurrentIndex(int(index))
grid = QtGui.QGridLayout()
grid.addWidget(self.combo,0,0)
centralwidget.setLayout(grid)
self.setGeometry(300,300,280,170)
self.setCentralWidget(centralwidget)
def Show(self, item):
print("Connected to: ",item)
f = open("index.txt","rt")
index = f.read()
f.close()
index = self.combo.currentIndex()
f = open("index.txt","wt")
f.write(str(index))
f.close()
def main():
app = QtGui.QApplication(sys.argv)
main= Main()
main.show()
sys.exit(app.exec_())
if __name__ == "__main__":
main()
Примечание: Для этой работы необходимо создать index.txt файл с номером в нем, в том же каталоге, что и ваша программа.
- 1. Сохранить значение и текст в Combobox
- 2. Загрузить, сохранить и сохранить файл с помощью Python 2.7.2
- 3. как загрузить список в combobox в vb.net с помощью combobox
- 4. Значение и текст ComboBox
- 5. Загрузить и сохранить файл в python
- 6. Сохранить и загрузить фон с помощью javascript
- 7. Загрузить и сохранить изображения с помощью Picasso
- 8. загрузить и сохранить файл с помощью просмотра
- 9. Как сохранить и загрузить JSON в NSUserDefaults с помощью SwiftyJSON?
- 10. Как сохранить и загрузить пользователь с Twitter4j
- 11. Python: загрузить текст как объект python
- 12. Как загрузить файл с URL-адреса и сохранить его имя и метаданные с помощью запросов python
- 13. Как получить текст из ComboBox?
- 14. Добавить текст и значение в ComboBox VB6
- 15. Как сохранить и загрузить изображения с помощью VB 6
- 16. Как сохранить и загрузить объекты XTS с помощью цикла?
- 17. Загрузить и сохранить pdf как шаблон с помощью docusign API
- 18. Не удается загрузить и сохранить файл srt с помощью DownloadFile
- 19. Как загрузить и сохранить изображение с помощью Windows.Web.Http?
- 20. Как сохранить и загрузить загруженный файл с помощью ASIHTTPRequest
- 21. Как сохранить фотографию и текст
- 22. Как сохранить и загрузить изображение файла с помощью swift
- 23. Как сохранить и загрузить несколько учетных данных с помощью Locksmith?
- 24. Попытка сохранить объект как JSON и загрузить в python
- 25. Как сохранить текст в txt-файл с помощью python 2.7 с помощью tk
- 26. Как установить текст combobox
- 27. : Сохранить HTML как текст
- 28. Изменение свойства метки (текст и шрифт) с помощью специального ComboBox
- 29. Как я могу извлечь и сохранить текст с помощью Perl?
- 30. Как загрузить изображение и текст с помощью POST
Thank u. Я решил это. Я создал .txt-файл с последними рабочими портами, и каждый раз, когда я запускаю программу, он просматривает каждую строку файла txt и пытается подключиться. с командой try - except – user2677337