Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 08.03.2021
Сообщений: 173

Работа циклами в Pyqt5

02.10.2022, 11:20. Показов 716. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.Имеется Горизонтальный слайдер с максимальным значением a и просто список b.Необходимо-как только выполняется условие a-len(b),то есть как только слайдер доходит до определенного значения,в label выводится значение из списка.На данный момент просто по какой то причине выводится последнее значение из списка.Также qt код прилагается
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import  sys
from inter_черновик import *
app = QtWidgets.QApplication(sys.argv)
Form = QtWidgets.QWidget()
ui = Ui_Form()
ui.setupUi(Form)
 
def data():
    a=ui.horizontalSlider.maximum()#Получаем максимальное значение лайдера
    b = [1, 2, 3, 4, 5, 6, 7, 8]
    if ui.horizontalSlider.value()>=a-len(b):
        for i in b:
            ui.label.setText(str(i))
    else:
        ui.label.setText("Нет данных")
 
ui.horizontalSlider.valueChanged.connect(data)
data()
Form.show()
sys.exit(app.exec_())

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# -*- coding: utf-8 -*-
 
# Form implementation generated from reading ui file 'черновик.ui'
#
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.
 
 
from PyQt5 import QtCore, QtGui, QtWidgets
 
 
class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(1070, 755)
        self.horizontalSlider = QtWidgets.QSlider(Form)
        self.horizontalSlider.setGeometry(QtCore.QRect(20, 700, 1031, 31))
        self.horizontalSlider.setStyleSheet("\n"
"            QSlider{\n"
"                background: #E3DEE2;\n"
"            }\n"
"            QSlider::groove:horizontal {  \n"
"                height: 10px;\n"
"                margin: 0px;\n"
"                border-radius: 5px;\n"
"                background: #B0AEB1;\n"
"            }\n"
"            QSlider::handle:horizontal {\n"
"                background: #fff;\n"
"                border: 1px solid #E3DEE2;\n"
"                width: 17px;\n"
"                margin: -5px 0; \n"
"                border-radius: 8px;\n"
"            }\n"
"            QSlider::sub-page:qlineargradient {\n"
"                background: #3B99FC;\n"
"                border-radius: 5px;\n"
"            }\n"
"        ")
        self.horizontalSlider.setMaximum(24)
        self.horizontalSlider.setOrientation(QtCore.Qt.Horizontal)
        self.horizontalSlider.setObjectName("horizontalSlider")
        self.label = QtWidgets.QLabel(Form)
        self.label.setGeometry(QtCore.QRect(410, 620, 141, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label.setFont(font)
        self.label.setObjectName("label")
 
        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)
 
    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.label.setText(_translate("Form", "TextLabel"))
 
 
if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Form = QtWidgets.QWidget()
    ui = Ui_Form()
    ui.setupUi(Form)
    Form.show()
    sys.exit(app.exec_())
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.10.2022, 11:20
Ответы с готовыми решениями:

Pyqt5 работа с sqlite3
Помогите пж. Как реализовать заполнение ListWidget из Sqlite? вот код import sys from PyQt5 import QtWidgets, QtCore, QtGui ...

Работа с диалогами в PyQt5
from PyQt5.QtWidgets import * #Подключение библиотеки from PyQt5 import QtCore, QtGui, QtWidgets #Подключение библиотеки ...

PyQT5. Работа с базой данных
Здравствуйте. Изучаю базы данных, а заодно и PyQt. При помощи QSqlQueryModel или QSqlTableModel и QTableView отобразил нужные данные в...

6
171 / 111 / 65
Регистрация: 26.06.2020
Сообщений: 331
02.10.2022, 18:02
Цитата Сообщение от FagotPetrova Посмотреть сообщение
в label выводится значение из списка.
Одно значение (если да, то какое)? Все значения? Или как?
Python
1
2
3
4
5
6
7
8
9
def data():
    a=ui.horizontalSlider.maximum()#Получаем максимальное значение лайдера
    b = [1, 2, 3, 4, 5, 6, 7, 8]
    if ui.horizontalSlider.value() >= a - len(b):
        ui.label.setText('')
        for i in b:
            ui.label.setText(ui.label.text() + str(i))
    else:
        ui.label.setText("Нет данных")
0
2 / 2 / 0
Регистрация: 08.03.2021
Сообщений: 173
02.10.2022, 19:23  [ТС]
Логика такая-если количество элементов списка например 10(от 1 до 10), а значений в слайдере 24, то надо, чтобы на 24 значении слайдера вывелась 10, на 23 -9, на 22-8 и т.д до 0-ого элемента списка
0
171 / 111 / 65
Регистрация: 26.06.2020
Сообщений: 331
02.10.2022, 19:54
Лучший ответ Сообщение было отмечено FagotPetrova как решение

Решение

Цитата Сообщение от FagotPetrova Посмотреть сообщение
Логика такая-если количество элементов списка например 10(от 1 до 10), а значений в слайдере 24, то надо, чтобы на 24 значении слайдера вывелась 10, на 23 -9, на 22-8 и т.д до 0-ого элемента списка
Python
1
2
3
4
5
6
7
def data():
    a=ui.horizontalSlider.maximum() #Получаем максимальное значение лайдера
    b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    if ui.horizontalSlider.value() > a - len(b):
        ui.label.setText(str(b[ui.horizontalSlider.value() - (a - len(b)) - 1]))
    else:
        ui.label.setText("Нет данных")
1
2 / 2 / 0
Регистрация: 08.03.2021
Сообщений: 173
02.10.2022, 20:40  [ТС]
Заранее Прошу прощения если неправильно тз обозначил. Сейчас если смотреть с конца слайдера такой порядок-8-7-6-5-4-3-2-1-8, последняя восьмерка лишняя, не могли бы исправить?
0
171 / 111 / 65
Регистрация: 26.06.2020
Сообщений: 331
02.10.2022, 21:29
Думаю, что ты не выложенный мной код пробуешь, а какой-то свой.
0
2 / 2 / 0
Регистрация: 08.03.2021
Сообщений: 173
02.10.2022, 21:42  [ТС]
Да, приношу извинения, моя ошибка.Спасибо большое.....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.10.2022, 21:42
Помогаю со студенческими работами здесь

Все методы и атрибуты PyQt5.QtGui PyQt5.Qtwdigets и QtCore
На официальной документации модуля я не нашёл все методы и атрибуты PyQt5. может дадите источник со всем этим добром??? Буду вам очень...

Работа с циклами в Python
1. Дано вещественное число – цена 1 кг конфет. Вывести стоимость 1, 2, … 10 кг конфет. Решить задачу используя циклическую конструкцию for.

Работа с циклами в Python
Помогите пожалуйста,а то с пайтоном у меня проблемы. 1. В области 12 районов. Известны количество жителей (в тысячах человек) и площадь...

Работа Таймера PyQt5 в параллель вычислениям
- Здравствуйте форумчане! Использую Таймер PyQt5 классически: self.timer = QTimer() # создание. ...

Unable to import 'PyQt5' / No module named 'PyQt5' /
Здравствуйте. Имеется Ubuntu 18.04. Хочу использовать pyside2. Установил PyQt5. :~$ pip install PyQt5 Defaulting to user...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru