2011-09-13 21 views

cevap

5

Gizli bir pencere üzerinde QWidget::mapToGlobal(QPoint(0,0)) numaralı telefonu arayarak küçük bir program yazdım. Bulduğum şey, konumun sorgulanmasından önce widget'ın önceden ekranda görüntülenip görüntülenmediğine bağlı olarak aldığım konumun değişmesiydi.

QWidget::mapToGlobal() belgelerine diyor ki:

Widget küresel ekran koordinatlarına pos koordinat çevirir. Örneğin, mapToGlobal (QPoint (0,0)), widget'ın sol üst pikselinin global koordinatlarını verir.

Bunu göz önünde bulundurarak, pencere öğesi görünmüyorsa, ekranda garantili bir global konuma sahip olamayacağı mantıklı görünmektedir.

Yöntemi aramadan aldığınız asıl sonuç, eğer varsa, en son gösterilecek konuma bağlıdır. Dolayısıyla, bu davranışın Qt'nin mevcut veya gelecekteki sürümleri boyunca kararlı kalmasına bağlı olmak akıllıca değildir.

İlgili konular