2016-05-18 11 views
2

リストQWidgets/Windowsの>ある窓のスポーン斧番号は:PyQtは - 私はクリックすることができます</p> <pre><code>class Main(QtGui.QMainWindow): </code></pre> <p>を持って

class dataWindow(QtGui.QWidget) 

今すべて見つけるためのPyQtでの方法はありますデータウィンドウを生成し、そのobjectNameを取得しますか? 各ウィンドウには一意のobjectNameがあります。 経由しようとしました:

a= self.findChild(QWidget, self.newDataWids[0]["window_name"]) - as I have all names stored in dict upon creation 

しかし、それはなしを返します。私は、データウィンドウがメインウィンドウクラスの親ではないので、私はそれを考えると思います。私はそれらを親にする必要があります。または何とか "野生"でそれらを見つける...

任意のアイデアが素晴らしいだろう。
よろしく、Dariusz

Edit_1:私のコードの不具合が私の現在の試みを盗んだ。見直した後、私はそれを動作させることができた。私は単に一時的な辞書にウィンドウを格納し、それを使ってウィンドウへのアクセスを取得しました。

答えて

2

親をコンストラクタに渡してオブジェクトを親にします。正しい引数の位置を取得するには、各ウィジェットのドキュメントをチェックする必要があります。

widget = QtGui.QWidget(self) 
btn = QtGui.QPushButton('Button Text', self) 

実際、子ウィンドウを取得するために子供を検索する必要はありません。あなたのメインウィンドウはそれらにハンドルを保持する必要があります。

def __init__(...) 
    ... 
    self._windows = [] 

def createSubWindow(self): 
    window = WindowClass(self) 
    self._windows.append(window) 
+0

大文字小文字はソートされていますが、悲しいことに、あなたが示唆した内容を持つ代わりに、私は2番目のクラスがありました...初心者の間違い。 – Dariusz

関連する問題

 関連する問題