Присоединяюсь к вопросу про QCompleter.
Я так понимаю, код должен быть следующий:
arr = [25,28,30,48]
completer = QtGui.QCompleter(arr, window)
b_Edit.setCompleter(completer)
Но что здесь такое “window”? Это по Прохорёнку.
Весь код программы:
# Python 3. PyQt4
# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtGui, QtCore
# Графика
class Window(QtGui.QWidget): # Класс Window наследует класс QWidget
def __init__(self, parent=None): # Создаёт конструктор класса, parent - ссылка на родительский эл-т
QtGui.QWidget.__init__(self, parent)
self.setMinimumSize(300, 400) # Миниамльная ширина и высота окна
self.setWindowTitle('Программа') # Заголовок
self.setWindowIcon(QtGui.QIcon('RP\icon.png')) # Иконка
# self.statusBar() - не работает
# Блок именования полей. В столбец 1
a = QtGui.QLabel('Длина a =')
b = QtGui.QLabel('Ширина b =')
h = QtGui.QLabel('Высота h =')
Viv = QtGui.QLabel('Расчёт')
Vv = QtGui.QLabel('Ввод')
button1 = QtGui.QPushButton('Ввести') # Отправка сообщений программе для поля Vv
# Блок создания полей. В столбец 2
a_Edit = QtGui.QLineEdit()
b_Edit = QtGui.QLineEdit()
h_Edit = QtGui.QLineEdit()
# Vv_Edit = QtGui.QTextEdit()
Vv_Edit = QtGui.QLineEdit() # Для ответов на вопросы программы + команды
Viv_Obl = QtGui.QScrollArea() # Показывает ход вычислений
# Расширение всойств полей
# Варианты значений
arr = [25,28,30,48]
completer = QtGui.QCompleter(arr, window)
b_Edit.setCompleter(completer)
# Блок разметки
grid = QtGui.QGridLayout() # создание сетки
grid.setSpacing(10) # ????
grid.addWidget(a, 1, 0)
grid.addWidget(a_Edit, 1, 1)
grid.addWidget(b, 2, 0)
grid.addWidget(b_Edit, 2, 1)
grid.addWidget(h, 3, 0)
grid.addWidget(h_Edit, 3, 1)
grid.addWidget(Viv, 4, 0)
grid.addWidget(Viv_Obl, 4, 1, 1, 2)
grid.addWidget(Vv, 5, 0)
grid.addWidget(Vv_Edit, 5, 1, 1, 1) # компонент, стр, стлб, кол стр, кол стлб
grid.addWidget(button1, 5, 2)
self.setLayout(grid) # ????
self.resize(150, 100) # ????
# Концовка
app = QtGui.QApplication(sys.argv)
w = Window()
w.show()
sys.exit(app.exec_())