main.cpp:
#include <QApplication>
#include "mainwindowimpl.h"
int main(int argc, char ** argv)
{
QApplication app( argc, argv );
MainWindowImpl win;
QPixmap pix(":/images/frame.png");
win.setPixmap(pix);
win.setMask(pix.mask());
win.setWindowTitle("Congradilations");
win.show();
//app.connect( &app, SIGNAL( lastWindowClosed() ), &app, SLOT( quit() ) );
return app.exec();
}
Mianwindowimpl.h:
#ifndef MAINWINDOWIMPL_H
#define MAINWINDOWIMPL_H
#include <iostream>
#include <QtGui>
#include <QtCore>
class MainWindowImpl : public QLabel
{
private:
QPoint m_ptPosition;
QString string;
protected:
virtual void MainWindowImpl::mousePressEvent(QMouseEvent* pe)
{
m_ptPosition = pe->pos();
}
virtual void MainWindowImpl::mouseMoveEvent(QMouseEvent* pe)
{
move(pe->globalPos() - m_ptPosition);
}
public:
MainWindowImpl(QWidget* pwgt=0)
:QLabel(pwgt, Qt::FramelessWindowHint | Qt::Window)
{
QTextCodec *codec = QTextCodec::codecForName("cp1251");
QTextCodec::setCodecForTr(codec);
QPushButton *exitButton = new QPushButton;
exitButton -> setParent(this);
exitButton -> setFlat(1);
exitButton -> setGeometry(410,55,24,24);
exitButton -> setIcon(QIcon(":/images/exit.png"));
connect(exitButton,SIGNAL(clicked()),qApp,SLOT(quit()));
QFile text("congradilations.txt");
if (!text.open(QIODevice::ReadOnly))
{
qDebug() << "Error opening file to read";
}
else
{
string = text.readAll();
}
text.close();
QLabel *label = new QLabel(this);
label -> setGeometry(100,80,300,100);
label -> setText(string);
}
};
#endif
Если разрешение экрана установлено в 1280х1024 выглядит так:
Нажмите для просмотра прикрепленного файла
А, если 1024х768, то так:
Нажмите для просмотра прикрепленного файла
Почему? И как это исправляется?