Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
 
17 / 17 / 11
Регистрация: 17.03.2017
Сообщений: 97
1

Как генерировать новые функции для кнопок QT4

23.06.2017, 11:41. Показов 451. Ответов 5
Метки нет (Все метки)

да, да, Qt4 устарел, я это осознаю, но нормально работать это ему не мешает))
Написал небольшой скрипт, необходимо разместить кучу кнопок на виджете, каждая кнопка вызывает свою функцию, как подкрепить к каждой кнопке свою функцию
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
import sys, random
from PyQt4 import QtGui, QtCore
 
 
class Window(QtGui.QWidget):
    def __init__(self):
        QtGui.QWidget.__init__(self)
        # self.
        XYdata = self.getData()
        for i in range(len(XYdata)):
            y = list(XYdata)[i]
            x = XYdata[list(XYdata)[i]]
            self.button = QtGui.QPushButton(self)
            self.button.setText('*')
            self.button.setToolTip('<b>'+str(i)+'</b>')
            self.button.move(x,y)
            self.button.resize(10,10)
            self.connect(self.button, QtCore.SIGNAL('clicked()'), self.function)
    def function(self):
        self.button.setHidden(True)
 
    def getData(self):
        ans = {}
        while len(ans) != 500:
            x = random.randint(0, 1000)
            y = random.randint(0, 1000)
            if y not in ans and x not in ans.values():
                ans[y] = x
        return ans
 
if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    window = Window()
    window.show()
    sys.exit(app.exec_())
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.06.2017, 11:41
Ответы с готовыми решениями:

callback функции не для кнопок на экране, а для клавиш на клав. и мышке. Как?
Я так понимаю, что в WIN API все действия делаются асинхронно через callback функции. Но как...

Можно ли добавить новые стили для кнопок VCL формы или создать свои в RAD Studio 10.1 Berlin?
Распишу по подробнее нужно изменить стиль компонента Button1. У него есть свойство Style в нем есть...

Как генерировать фоновое изображение для сайта?
Добрый день. У меня на сайте такая фоновая картинка. Хочу сделать чтобы эти квадратики при...

Новые функции для System.Windows.Forms
Делаю модуль для упрощения работы с Windows.Forms То, что уже создал, написал ниже в спойлере....

5
2723 / 2326 / 620
Регистрация: 19.03.2012
Сообщений: 8,832
23.06.2017, 11:44 2
Slice_, таких примеров куча в данной ветке, ищи темы (динамическое создание виджетов и все в этом духе)
1
17 / 17 / 11
Регистрация: 17.03.2017
Сообщений: 97
23.06.2017, 12:10  [ТС] 3
alex925, я как бы нашел, но все равно не могу понять как именно распознавать кнопку, которая была нажата. Задача простая, вывести текст кнопки на которую нажали, имя является уникальным для каждой соответственно
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
import sys
from PyQt4 import QtGui,QtCore
 
 
 
class Window(QtGui.QWidget):
    def __init__(self):
        QtGui.QWidget.__init__(self)
        self.lay = QtGui.QVBoxLayout()
        self.setLayout(self.lay)
        self.mass = [{"obj": None, "name": "one", "text": "Первая кнопка", "val": self.function},
                     {"obj": None, "name": "two", "text": "Вторая кнопка", "val": self.function}]
        for i in self.mass:
            i["obj"] = QtGui.QPushButton(i["text"])
            i["obj"].setObjectName(i["name"])
            self.lay.addWidget(i["obj"])
            self.connect(i["obj"], QtCore.SIGNAL('clicked()'), i['val'])
 
    def function(self):
        q = QtGui.QPushButton('asdasd')
        self.lay.addWidget(q)
 
        
if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    window = Window()
    window.show()
    sys.exit(app.exec_())
0
2723 / 2326 / 620
Регистрация: 19.03.2012
Сообщений: 8,832
23.06.2017, 12:17 4
Slice_, покажи ссылку, что ты нашёл и ищи дальше, даже пример, который ты пытаешься сделать уже реализован
0
17 / 17 / 11
Регистрация: 17.03.2017
Сообщений: 97
23.06.2017, 16:20  [ТС] 5
alex925, http://python.su/forum/topic/26511/
0
2723 / 2326 / 620
Регистрация: 19.03.2012
Сообщений: 8,832
23.06.2017, 16:33 6
Slice_, на этом форуме ищи, лично я отвечал темах в 5 наверно, с таким содержанием.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.06.2017, 16:33

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Как для нового объекта класса программно генерировать уникальный идентификатор?
Я совсем еще начинаю изучать ООП в php. Хотела бы, чтобы при создании объекта класса Config ему...

Новые функции для проверки правильности данных в Excel 2010
Добрый день! Помогите пожалуйста с написанием парочки новых функций. Задача стояла следующая:...

Как в откомпилированный исполняемый файл вставить новые функции
Вопрос такой: есть уже скомпилированный elf, исходников нету. С помощью одной утилиты удалось...

Создать массив кнопок, для каждой кнопок будет одинаковый обработчик
Всем привет! Нужна помощь в реализации такой задачи. Нужно создать массив кнопок, для каждой...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.