[Çözüldü] QMessageBox Konumunu Değiştirmek?

Başlatan uçbirim2002, 09 Ocak 2017 - 11:58:09

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

uçbirim2002

MainWindow sınıfının içinde ki kod şu şekilde:


QMessageBox::warning(this, "başlık", "mesaj");


Bu şekilde mesaj kutusu görünüyor ama ekranın sol üst tarafından çıkıyor. Parent olarak MainWindow verdiğim halde MainWindow ortasında görünmüyor.

Gösterilen mesaj kutusunu nasıl MainWindow'un ortasına taşıyabilirim? (Veya mesajı MainWindow'un ortasında oluşturabilirim?)
Hello!

Amenofis

Bu işlemi MainWindow un kurucusunda mı yapıyorsun acaba? Öyleyse show() ile ana pencereyi açtıktan sonra sonra yapmayı dene.

Limonata

Selamün Aleyküm;

Normalde QMessageBox::warning(this, "Başlık", "İçerik"); dediğim zaman this işaretçisinin gösterdiği, yani MainWindow'un ortasında çıkıyor. Lakin sizde olmuyorsa QWidget::move üye fonksiyonunu deneyebilirsiniz:

QMessageBox msg;
msg.setWindowTitle("Başlık");
msg.setText("İçerik");
msg.setIcon(QMessageBox::Warning);
msg.move(this->x() + this->width() / 2 - 35, this->y() + this->height() / 2 - 35);
msg.exec();

Bağlantı: http://doc.qt.io/qt-5/qwidget.html#move-1

uçbirim2002

Alıntı yapılan: Amenofis - 10 Ocak 2017 - 00:15:38
Bu işlemi MainWindow un kurucusunda mı yapıyorsun acaba? Öyleyse show() ile ana pencereyi açtıktan sonra sonra yapmayı dene.

Teşekkürler. Önce show() ile gösterdikten sonra artık mesaj ana pencerenin ortasında beliriyor.

Alıntı yapılan: Limonata - 10 Ocak 2017 - 02:16:31
Selamün Aleyküm;

Normalde QMessageBox::warning(this, "Başlık", "İçerik"); dediğim zaman this işaretçisinin gösterdiği, yani MainWindow'un ortasında çıkıyor. Lakin sizde olmuyorsa QWidget::move üye fonksiyonunu deneyebilirsiniz:

QMessageBox msg;
msg.setWindowTitle("Başlık");
msg.setText("İçerik");
msg.setIcon(QMessageBox::Warning);
msg.move(this->x() + this->width() / 2 - 35, this->y() + this->height() / 2 - 35);
msg.exec();

Bağlantı: http://doc.qt.io/qt-5/qwidget.html#move-1

Aleyküm selam. Sorunum QMessageBox::warning() metodunu kurucu da çağırmammış. Yinede teşekkürler.
Hello!