我正在用 Qt 開發一個圖形編輯器。我正在使用 QGraphicsView 來顯示圖片,需要調整它的大小,使其與影像和主視窗的大小一致。
現在我像這樣調整它的大小(在 MainWindow 類的方法中):
ui->graphicsView->resize(picture->width, picture->height); // ui here is Ui::MainWindow* pointer
我在打開影像時呼叫此方法。小圖片看起來很正常,但是當我打開大圖片時,它的大小變得超過了視窗的大小,我無法滾動它。我可以將 graphicsView 的大小設定為圖片和主視窗大小的最大值,但這并不能解決問題,因為當我縮小主視窗時,圖片會保持其大小并且會大于窗戶。所以,我想我需要在調整主視窗大小時調整影像大小。我知道Qt中有信號槽系統,但是我找不到合適的QMainWindow槽。所以,我的問題是:如何捕捉主視窗大小的變化來調整 graphicsView 的大小?
uj5u.com熱心網友回復:
只需重寫resizeEvent () 中的QMainWindow
常量 QSize &QResizeEvent::size() 常量
回傳小部件的新大小。
void MyMainWindow::resizeEvent(QResizeEvent* event)
{
// ui->graphicsView->resize(event->size());
QMainWindow::resizeEvent(event);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/535316.html
標籤:C qtqt5
