Portál AbcLinuxu, 31. října 2025 02:35
 se motám kolem problému, jak určit polohu widgetu na obrazovce. Google mi moc nepomáhá a chatGPT odpověděl dobře, ale jeho odpověď se vztahovala na jim uvedený příklad:
 se motám kolem problému, jak určit polohu widgetu na obrazovce. Google mi moc nepomáhá a chatGPT odpověděl dobře, ale jeho odpověď se vztahovala na jim uvedený příklad:  
from PySide2.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout
class MyWidget(QWidget):
    def __init__(self):
        super().__init__()
        self.init_ui()
    def init_ui(self):
        layout = QVBoxLayout()
        button = QPushButton('Můj tlačítko', self)
        button.clicked.connect(self.on_button_click)
        layout.addWidget(button)
        self.setLayout(layout)
    def on_button_click(self):
        # Získání globálních souřadnic tlačítka
        global_pos = self.mapToGlobal(self.sender().pos())
        print('Globální souřadnice tlačítka:', global_pos.x(), global_pos.y())
if __name__ == '__main__':
    app = QApplication([])
    widget = MyWidget()
    widget.show()
    app.exec_()...
...
        self.centralW = QWidget()
        layout = QVBoxLayout()
        button = QPushButton('Můj tlačítko', self)
        button.clicked.connect(self.on_button_click)
        layout.addWidget(button)
        self.centralW.setLayout(layout)
        self.setCentralWidget(self.centralW)
    def on_button_click(self):
        # Získání globálních souřadnic tlačítka
        s = self.sender().pos()
        print(f"sender {s}")
        cw = self.centralW.pos()
        print(f"central {cw}")
        global_pos = self.mapToGlobal( self.sender().pos())
        print('Globální souřadnice tlačítka:', global_pos.x(), global_pos.y())
...
...
        w = self.ui.qpb_DoSearch
        pos = w.pos()
        print(pos)
        while p := w.parentWidget():
            pos = pos + p.pos()
             print(p, p.pos())
             w = p
        print(f"pos: {pos}")
Řešení dotazu:
QDialog d(widget.parentWidget())
d.move(widget.pos())
alebo bez parent widgetu
QDialog d
d.move(widget.mapToGlobal(QPoint(0, 0)))
https://doc.qt.io/qt-6/application-windows.html#window-geometry
             a ... fakt to takto funguje. GPT mi radil něco úplně jiného, ale to fungovalo jen za určitých podmínek. Toto tvé použití jsem neznal, a připadalo mi trochu ujeté, no ale fakt funguje..
Takže děkuji za popostrčení. 
M.
 a ... fakt to takto funguje. GPT mi radil něco úplně jiného, ale to fungovalo jen za určitých podmínek. Toto tvé použití jsem neznal, a připadalo mi trochu ujeté, no ale fakt funguje..
Takže děkuji za popostrčení. 
M.
            
        Tiskni
            
                Sdílej:
                 
                 
                 
                 
                 
                 
            
    
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.