2011-11-25 23 views
8

Qwidget sınıfını ve Qt :: CustomizeWindowHint ayar penceresini (başlık çubuğunu devre dışı bırakmak için) kullanarak ana pencere oluşturuyorum. Ancak, problemi bulmamdan - Windows görev çubuğundaki programım düğmesine tıkladığımda - program en aza indirgenecek ve en üst düzeye çıkmayacaktır. Bu sorunu gidermek için ne yapabilirim? Windows 7'yi kullanıyorum. Üzgünüm 4 kötü ingilizcem. Qt özellikQt C++ pencereyi simge durumuna küçültme ve büyütme

cevap

12

:: CustomizeWindowHint.When window.What Eğer SHOWMAXIMIZED() ve SHOWMINIMIZED (pencerenize iki düğme ekliyor denemek ve bağlayabilir, hiç kontrol edebilirsiniz bu pencereler bayrağını kullanmak. Ardından düğmeleri tıklayarak pencereyi en üst düzeye çıkarabilir veya küçültebilirsiniz.

+0

Cevabınız için teşekkürler. Programımda düğmelerim (küçültme ve büyütme) yapıyorum, hepsi iyi çalışıyor. Ama yine de program penceresini görev çubuğu düğmesine tıklayarak en aza indiremiyorum. Başlık çubuğunu pencereden kaldırabilir miyim, ancak işlevselliği en aza indirgemeyi bırakamaz mıyım? – Outsider

+0

Kullandığınız pencere bayrakları, yalnızca fare etkinliğini devre dışı bırakır, yani pencerenizi tıklarsanız, Windows pencereyi 'vurmak' yerine 'geçmesine' izin verin. Bir denemek istiyorsanız, Qt'yi kullanmanız gerektiğini düşünüyorum: : FramelessWindowHint ve kendi fare olayı işlevini yeniden uygulayın.Bu makale size yardımcı olabilir: [link] http://blog.csdn.net/yiyaaixuexi/article/details/6362865 @Ramix – user957121

3

Bu cevap bir süre önce oldu ama şimdi aynı zorluklarla karşılaştım ve bir çözüm bulabilirdim. Belki başka biri için yardım eder. Önceden önerildiği gibi, Qt::CustomizeWindowHint yerine Qt::FramelessWindowHint belirtilmelidir. Bu ayrıca pencerenin başlığını ve sınırını da gizler. En aza indirgeme/büyütme özelliğine sahip olmak için ek olarak Qt::WindowSystemMenuHint, Qt::WindowMinimizeButtonHint ve Qt::WindowMaximizeButtonHint belirtilmiştir. Bu kadar!

İlgili konular