rightsgroup.blogg.se

Wctv image viewer
Wctv image viewer












wctv image viewer

In the loadFile() function, we instantiate a QImageReader and enable automatic transformations by calling QImageReader::setAutoTransform(). arg( QDir ::toNativeSeparators(fileName), reader. QMessageBox ::information( this, QGuiApplication ::applicationDisplayName() , The function loadFile() is used to load the image.īool ImageViewer ::loadFile( const QString &fileName) We show the file dialog until a valid file name is entered or the user cancels. We compile a list of mime types for use as a filter by querying QImageReader for the available mime type names. In the open() slot, we show a file dialog to the user. exec() = QDialog ::Accepted & & !loadFile(dialog. InitializeImageFileDialog(dialog, QFileDialog ::AcceptOpen) QFileDialog dialog( this, tr( "Open File")) If (acceptMode = QFileDialog ::AcceptSave) setMimeTypeFilters(mimeTypeFilters) ĭialog. ? QImageReader ::supportedMimeTypes() : QImageWriter ::supportedMimeTypes() įor ( const QByteArray &mimeTypeName : supportedMimeTypes)ĭialog. 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.

wctv image viewer wctv image viewer

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.

#WCTV IMAGE VIEWER UPDATE#

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.

wctv image viewer

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)














Wctv image viewer