Найти - Пользователи
Полная версия: if нажата кнопка then открытие окна. Как сделать?
Начало » GUI » if нажата кнопка then открытие окна. Как сделать?
1
steinn
Всем привет!
Пытаюсь написать программу, которая по нажатию на кнопку открывала бы ссылку с gmail.
Но как именно это сделать?
Форма нарисована в Qt Designer, но что должно быть в коде?

Как описать конструкцию типа if button.pressed() then open URL?
То, как написано у меня, открывает браузер и просто выводит окно, а как записать условие, что именно по нажатию кнопки нужно открывать браузер?

 #!-*-coding:utf-8-*-
import sys
# import PyQt4 QtCore and QtGui modules
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4 import uic
(Ui_MainWindow, QMainWindow) = uic.loadUiType('gmail_button.ui')
class MainWindow(QMainWindow):
    """MainWindow inherits QMainWindow"""
    def __init__(self, parent=None):
        QMainWindow.__init__(self, parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
    def __del__(self):
        self.ui = None
#-----------------------------------------------------#
if __name__ == '__main__':
    # create application
    app = QApplication(sys.argv)
    app.setApplicationName('gmail_button_prg')
    # create widget
    w = MainWindow()
    w.setWindowTitle('gmail_button_prg')
    w.show()
    # connection
    QObject.connect(app, SIGNAL('lastWindowClosed()'), app, SLOT('quit()'))
    import webbrowser
    webbrowser.open_new('gmail.com')
    # execute application
    sys.exit(app.exec_())

В редакторе слотов нужно что-то делать?
Но получатель у меня не MainWindow, а браузер, получается.


Делаю под Windows.
Сильно ногами не бейте, питон установлен несколько часов назад
py.user.next
Надо сигнал clicked() у кнопки присоединить к слоту, который делает нужные действия.

steinn
В редакторе слотов нужно что-то делать?
Да, нужно добавить слот, а потом подсоединить сигнал к нему. А в коде уже пишешь этот слот и в нём вызов браузера.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB