![]() ![]() last()) Ĭonst QByteArrayList supportedMimeTypes = acceptMode = QFileDialog ::AcceptOpen isEmpty() ? QDir ::currentPath() : picturesLocations. Static void initializeImageFileDialog( QFileDialog &dialog, QFileDialog ::AcceptMode acceptMode)Ĭonst QStringList picturesLocations = QStandardPaths ::standardLocations( QStandardPaths ::PicturesLocation) ĭialog. At the end we create the associated actions and menus, and customize the ImageViewer's appearance. We make imageLabel the scroll area's child widget, and we make scrollArea the central widget of the QMainWindow. If we omitted to set the imageLabel's scaledContents property, zooming in would enlarge the QLabel, but leave the pixmap at its original size, exposing the QLabel's background. We ensure that the label will scale its contents to fill all available space, to enable the image to scale properly when zooming. Otherwise, the default size polizy ( preferred) will make scroll bars appear when the scroll area becomes smaller than the label's minimum size hint. We set imageLabel's size policy to ignored, making the users able to scale the image to whatever size they want when the Fit to Window option is turned on. In the constructor we first create the label and the scroll area. Resize( QGuiApplication ::primaryScreen() - >availableSize() * 3 / 5) ScrollArea - >setBackgroundRole( QPalette ::Dark) ![]() ImageLabel - >setSizePolicy( QSizePolicy ::Ignored, QSizePolicy ::Ignored) ImageLabel - >setBackgroundRole( QPalette ::Base) : QMainWindow(parent), imageLabel( new QLabel) ImageViewer ::ImageViewer( QWidget *parent) In turn, scaleImage() uses adjustScrollBar() to preserve the focal point after scaling an image. The zoom slots use scaleImage() to perform the zooming. We use the updateActions() function to update the menu entries when a new image is loaded, or when the Fit to Window option is toggled. We use createActions() and createMenus() when constructing the ImageViewer widget. In addition we create four private functions. We reimplement the constructor, and create several private slots to facilitate the menu entries. The ImageViewer class inherits from QMainWindow. #if defined(QT_PRINTSUPPORT_LIB) & QT_CONFIG(printer) QPrinter printer Void adjustScrollBar( QScrollBar *scrollBar, double factor) ![]()
0 Comments
Leave a Reply. |