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

Работа с кнопками

04.04.2016, 12:45. Показов 1271. Ответов 5

Студворк — интернет-сервис помощи студентам
Есть простенькое и незамысловатое окошко:
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
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
 
import sys
 
from PyQt5.QtWidgets import (QWidget, QApplication, 
    QPushButton, QToolTip, QMessageBox, QDesktopWidget, 
    QMainWindow)
 
from PyQt5.QtCore import QCoreApplication
from PyQt5.QtGui import QFont
 
 
class Example(QMainWindow):
 
    def __init__(self):
        super().__init__()
 
        self.initUI()
 
    def initUI(self):
 
        QToolTip.setFont(QFont('SansSerif', 10))
 
        self.setToolTip('This is a <b>QWidget</b> widget')
        self.statusBar().showMessage('Ready')
 
        btn = QPushButton('Quit', self)
        btn.clicked.connect(QCoreApplication.instance().quit)
        btn.resize(btn.sizeHint())
        btn.move(50, 50)
 
        self.resize(250, 150)
        self.center()
        self.setWindowTitle('Example')
        self.show()
 
    def closeEvent(self, event):
        reply = QMessageBox.question(self, 'Message',
            'Right?', QMessageBox.Yes | QMessageBox.No, 
            QMessageBox.No)
 
        if reply == QMessageBox.Yes:
            event.accept()
        else:
            event.ignore()
 
    def center(self):
        qr = self.frameGeometry()
        cp = QDesktopWidget().availableGeometry().center()
        qr.moveCenter(cp)
        self.move(qr.topLeft())
 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
И, как мы видим, при нажатии кнопки прогамма закрывается:
Python
1
        btn.clicked.connect(QCoreApplication.instance().quit)
Так же есть написанный код в той же папке в файле Test.py
Как сделать, чтобы при нажатии кнопки выполнялся код из Test.py?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.04.2016, 12:45
Ответы с готовыми решениями:

Работа с кнопками
разместите на форме две кнопки (button). Сделайте на кнопках следующие надписи: привет, до свидания. Создайте обработчики события нажатия...

Работа с кнопками
Работаю в пятом лотусе. Из под WEBа не работают кнопки написанные на скрипте, да и на формулах тоже. Подскажите пожалуйста на что их...

Работа с кнопками
Здравствуйте! Подскажите, пожалуйста. У меня есть диалоговое окно, в нем кнопка. Надо, чтобы при нажатии на кнопку выполнялась функция....

5
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
04.04.2016, 13:02
Задаешь для кнопки другую вызываемую функцию и все! В чем трудности?
0
0 / 0 / 0
Регистрация: 13.02.2016
Сообщений: 10
04.04.2016, 13:14  [ТС]
Пытался делать так:
Python
1
2
 import Test
btn.clicked.connect(QCoreApplication.instance().Test.start())
Так:
Python
1
btn.clicked.connect(Test.start())
Видимо я туплю, но не получается вызвать стартовую функцию Test.py, выдает различные ошибки
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
04.04.2016, 13:15
Лучший ответ Сообщение было отмечено Woplek как решение

Решение

Woplek, ну само собой, тебе надо функцию передать, а ты передаешь результат выполнения функции. Скобки убери.
1
0 / 0 / 0
Регистрация: 13.02.2016
Сообщений: 10
04.04.2016, 13:18  [ТС]
alex925, Да уж, и над этим я бился последние часа 2))) Спасибо большое)
0
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru