Je suis nouveau chez qt. J'ai essayé de créer une fenêtre avec un widget. Le widget contient une image (un échiquier). Maintenant, si j'ai essayé d'afficher la fenêtre, elle montre une partie de cette image. Voici le codeQt - Comment obtenir la barre latérale dans MainWindow
#include<QApplication>
#include<QMainWindow>
#include<QWidget>
#include<QMenu>
#include<QMenuBar>
#include<QPainter>
#include<QFrame>
#include<QHBoxLayout>
#include<iostream>
using namespace std;
class MyWindow:public QMainWindow
{
public:
MyWindow();
};
class MyWidget:public QWidget
{
public:
MyWidget();
void paintEvent(QPaintEvent * event);
};
int main(int argc,char *argv[])
{
Q_INIT_RESOURCE(puzzle);
QApplication app(argc,argv);
MyWindow mainWindow;
mainWindow.show();
return app.exec();
}
MyWindow::MyWindow():QMainWindow()
{
setSizePolicy(QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed));
QMenu * fileMenu=menuBar()->addMenu(QObject::tr("Options"));
QAction * restartAction = fileMenu->addAction(tr("NewGame"));
QAction * exitAction = fileMenu->addAction(tr("Exit"));
exitAction->setShortcuts(QKeySequence::Quit);
QWidget * tempWidget=new MyWidget();
QFrame * newFrame=new QFrame();
QHBoxLayout * horizontal= new QHBoxLayout(newFrame);
horizontal->addWidget(tempWidget);
setCentralWidget(newFrame);
}
MyWidget::MyWidget():QWidget()
{
setMinimumSize(100,100);
setMaximumSize(1000,1000);
}
void MyWidget::paintEvent(QPaintEvent * event)
{
QPainter painter;
painter.begin(this);
painter.drawPixmap(QRect(0,0,500,600),QPixmap("Board").scaled(QSize(500,600),Qt::KeepAspectRatioByExpanding,Qt::SmoothTransformation));
painter.end();
}
Je suis désolé mais je ne comprends pas. Qu'essayez-vous exactement d'accomplir? – humbagumba
Désolé, c'est une faute d'orthographe. En fait c'est la barre coulissante – prabhakaran
Dans le code ci-dessus j'essaie de montrer une image dans une fenêtre à travers un widget. Mais en raison de cette taille de Windows est plus petite que l'image, j'ai besoin d'une barre de défilement dans la fenêtre pour voir l'image entière. Mais je n'ai pas 6 de barre de défilement dans la fenêtre. Donc, je demande quelle fonction définira la barre de défilement – prabhakaran