[python] PyQt a vybraný widget v QDialogu

Martin Stiborský martin.stiborsky na gmail.com
Pátek Říjen 30 03:11:07 CET 2009


Dobrý den přeji.
Potřeboval bych poradit prosím.
V programu používám QDialog k vytvoření nabídky, kde si uživatel
vybere jeden z několika spinboxů a program se podle toho dál chová.
Zasekl jsem se na způsobu, jak z QDialogu předat informaci který
spinbox byl vybrán. Momentálně jsem to vymyslel tak, že se v cyklu
projdou všechny spinboxy a najde se ten, který je vybrán, připadá mi
to trochu těžkopádné. PyKDE obsahuje widget QButtonGroup, který má
signál changed(int) nebo clicked(int) a ten vrací číselný index
widgetu, na který se kliklo, to je paráda, akorát neumím propojit
jmenný prostor dialogu a aplikace, aby se ti dva dorozuměli.

Sepsal jsem to do kódu ..

# -*- coding: utf-8 -*-

from PyQt4 import QtCore
from PyQt4 import QtGui

import sys

from main import Ui_MainWindow
from dialog import Ui_Dialog

class Okynko(QtGui.QMainWindow):
  def __init__(self):
    QtGui.QMainWindow.__init__(self)
    self.ui = Ui_MainWindow()
    self.ui.setupUi(self)

  @QtCore.pyqtSlot()
  def otevriDialog(self):
    dialog = QtGui.QDialog()
    dialogUi = Ui_Dialog()
    dialogUi.setupUi(dialog)

    return dialog.exec_()

def main():
  app = QtGui.QApplication(sys.argv)
  window = Okynko()
  window.show()
  sys.exit(app.exec_())

if __name__ == "__main__":
  main()

Definice grafiky, jak mi ji vyplivlo pyuic z ui souboru Qt Designeru je zde:
okýnko aplikace s čudlikem: http://www.clipboard.cz/87g
dialog s pár spinboxy: http://www.clipboard.cz/97g

Bohatě by mi stačilo popostrčit teorií, moc dík za pomoc.

-- 
S pozdravem
Martin Stiborský

Jabber: stibi na njs.netlab.cz
ICQ: 224-065-849


Další informace o konferenci Python