Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ошибка с QPainter в win32 при разрешении экрана 1024x768
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Система рисования. Печать
molchanoviv
Моя прога:
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, то так:
Нажмите для просмотра прикрепленного файла

Почему? И как это исправляется?
Litkevich Yuriy
а как у тебя при нармальном и проблемном разрешении отображается пример "Shaped Clock Example" (%QTDIR%/examples/widgets/shapedclock)?
molchanoviv
Цитата(Litkevich Yuriy @ 18.7.2008, 11:49) *
а как у тебя при нармальном и проблемном разрешении отображается пример "Shaped Clock Example" (%QTDIR%/examples/widgets/shapedclock)?


Нормально. Пример при обоих разрешениях работает на ура.
ViGOur
Как я понял, утебя проблема в том, что ты не ресайзишь картинки в зависимости от размера виджета.

Попробуй наложить все эти картинки на виджет и поизменяй его размер, если все будет в порядке, тогда и с разрешением будет все нормально ресайзится.
molchanoviv
Спасибо, заработало.

Тему можно закрывать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.