Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Цикл по всем чекбоксам(100шт) в форме [RSS Feed]

#1 Март 10, 2013 16:46:24

lotro
Зарегистрирован: 2012-10-03
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Цикл по всем чекбоксам(100шт) в форме

Доброго времени суток!

Искал по форуму, но что-то не нашел.
Есть форма с, более чем, сотней чекбоксов. Каждому чекбоксу соответствует какая-либо опция. По этим опциям будут сформированы запросы к БД.

Вопрос: как сделать цикл по всем чекбоксам с целью проверки зачеканы они или нет?

Офлайн

#2 Март 10, 2013 16:53:52

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Цикл по всем чекбоксам(100шт) в форме

Простите, но форма с “больше чем сотней чекбоксов” - это уже чушь.
Как пользователю это заполнять. Какая после этого получится ментальная модель???
Лучшим вариантом будет два листбокса. В одном - варианты на выбор. В другом - варианты, которые выбраны. (Аналог: слева - все чекбоксы, справа - чекбоксы с положительным выбором).
Если этот вариант не подходит - пишите. Предложу вариант с чекбоксами :)



Офлайн

#3 Март 10, 2013 17:00:49

lotro
Зарегистрирован: 2012-10-03
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Цикл по всем чекбоксам(100шт) в форме

За чушь спасибо. Я знал, но это простейшее из того что я смогу сделать для людей, которые с ПК “на Вы”. Не могли бы показать код для листбокса? Что-то в Дизайнере я не нашел такого виджета.

Отредактировано lotro (Март 10, 2013 17:01:17)

Офлайн

#4 Март 10, 2013 17:04:18

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Цикл по всем чекбоксам(100шт) в форме

В каком Дизайнере? Я думал Вы пишете на Tkinter.
Используйте прямые методы построения интерфейса. В этом случае Вы будете лишены множества проблем, связанных с разрешением экрана, отображение виджетов и кроссплатформенностью. Могу показать как это делается в Tkinter…



Отредактировано 4kpt (Март 10, 2013 17:06:48)

Офлайн

#5 Март 10, 2013 17:06:20

lotro
Зарегистрирован: 2012-10-03
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Цикл по всем чекбоксам(100шт) в форме

Оу. Извиняюсь. Я пишу c помощью PyQt 4.7
Лично для меня отдельный кайф вызывает рисование в Дизайнере.

Отредактировано lotro (Март 10, 2013 17:09:16)

Офлайн

#6 Март 10, 2013 17:07:52

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Цикл по всем чекбоксам(100шт) в форме

lotro
Тогда я приношу свои извинения. Я с PyQt не дружу :)
Надумаете использовать Tkinter - пишите…



Офлайн

#7 Март 10, 2013 17:25:22

SorrowFuck
От: Хабаровск
Зарегистрирован: 2012-10-10
Сообщения: 64
Репутация: +  2  -
Профиль   Отправить e-mail  

Цикл по всем чекбоксам(100шт) в форме

На сколько я знаю в 3 версии Qt еще использовался класс QListBox, но потом от него отказались в пользу QListView. Возможно, это не совсем одно и тоже, что и в listbox в Tkinter.
Документация



_________
Новичок

Отредактировано SorrowFuck (Март 10, 2013 17:26:58)

Офлайн

#8 Март 10, 2013 18:28:55

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

Цикл по всем чекбоксам(100шт) в форме

Если используете QListWidget

from PyQt4 import QtGui, QtCore
 
def show_all_items_check_state():
    for i in range(listwidget.count()):
        item = listwidget.item(i)
        print item.checkState() == QtCore.Qt.Checked

Офлайн

#9 Март 10, 2013 19:39:45

lotro
Зарегистрирован: 2012-10-03
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Цикл по всем чекбоксам(100шт) в форме

4kpt, помогайте. Мой вариант

self.checkBox_9 : "lyamblii"
не прокатил.

Отредактировано lotro (Март 10, 2013 19:45:01)

Офлайн

#10 Март 13, 2013 00:53:23

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Цикл по всем чекбоксам(100шт) в форме

Забыл, что Вы просили. Завтра напишу два примера :)



Офлайн

  • Начало
  • » GUI
  • » Цикл по всем чекбоксам(100шт) в форме[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version