贊助廠商

娛樂城推薦

首頁

刊登資訊

  • 刊登者:匿名
  • 時間:2021-06-03 21:40:07

尚未解答C/C++-[QT

C/C++-[QT

網路上查都是詢問如何讓元件重疊...


我的程式是要做動態載入圖片
就像網路的線上看漫畫那樣,還沒看到的圖片先別載入
等scrollBar滑到了再來載入

程式初期會去讀取這個漫畫有n頁
便會生成n個QLabel插入QScrollArea 裡的 QGridLayout (使用VBoxLayout仍是會重疊)
然後我有一個按鈕
按下去之後會根據當下視窗的寬度
對每個QLabel setFixSize(newSize);
以及裏頭的pixmap進行 QPixmap newPix = pixmap->scaled(
newSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);

把每個QLabel以及裡面的pixmap拉成與視窗同寬


這時候我發現我後面讀取載入的圖,會重疊較早讀取的圖
原本我以為是我的newSize計算錯誤
但花了一段時間debug發現我的newSize是正確的

然後也測試sizePolicy,無論是否設定為Fixed,QLabel都會重疊

最神奇的地方是: 當我把視窗的寬縮小到一定的程度
這些QLabel竟然就不會重疊,達成了我一開始想要的效果了!!!

但只要視窗的寬超過一定的程度,QLabel裡的圖就會重疊
而且視窗的寬越大,重疊的部分也就越大。

想請問我到底哪邊出的問題....
以下是部分原始碼
https://pastebin.com/zLZ0kSaf

--

0個答案 C/C++-[QT

其他問題

友站連結