crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

eldar85
  опции профиля:
сообщение 12.3.2010, 2:28
Сообщение #1


программист
***

Группа: Участник
Сообщений: 283
Регистрация: 2.1.2010
Из: Москва
Пользователь №: 1348

Спасибо сказали: 0 раз(а)




Репутация:   0  


как только не перепробывал ставить эконку в формате .ico

mainWidget = new QWidget(this);
mainWidget->setWindowIcon(QIcon(":/el.ico"));

mainWidget = new QWidget(this);
mainWidget->setWindowIcon(QIcon("el.ico"));

mainWidget = new QWidget(this);
setWindowIcon(QIcon(":/el.ico"));

QIcon icon;
icon.addFile("el.ico");
setWindowTitle(tr("Bastion"));
setWindowIcon(icon);

и путь до файла прописывал, а вообще он возле экзэшника лежит. главное поставил последнюю версию креатора и такая хрень началась, не хочет выводить эконку хоть убейся.
может кто сталкивался с такой проблемой, отзовитесь или может я делаю что то не так?

главное setWindowTitle устанавливает нужное название окна, а setWindowIcon не ставит картинку((
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
4 страниц V  < 1 2 3 4 >  
Начать новую тему
Ответов (10 - 19)
Litkevich Yuriy
  опции профиля:
сообщение 12.3.2010, 14:50
Сообщение #11


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(eldar85 @ 12.3.2010, 5:28) *
QIcon icon;
icon.addFile("el.ico");
setWindowTitle(tr("Bastion"));
setWindowIcon(icon);
вот такой код должен работать для окна - виджета, у которого нет родителя)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
eldar85
  опции профиля:
сообщение 12.3.2010, 15:20
Сообщение #12


программист
***

Группа: Участник
Сообщений: 283
Регистрация: 2.1.2010
Из: Москва
Пользователь №: 1348

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(kwisp @ 12.3.2010, 17:40) *
честно скажу давно последний раз иконку ставил.
Но может стоит посмотреть раздел
Setting the Application Icon
в ассистенте.


Цитата(eldar85 @ 12.3.2010, 2:28) *
mainWidget = new QWidget(this);
mainWidget->setWindowIcon(QIcon(":/el.ico"));

а вообще вот это странно, т.е. виджет в который ты ставишь иконку фрейма с кнопками свернуть,развернуть,закрыть своего не имеет. куда должна иконка попасть?

честно говоря в асистенте такая фигня написана. посмотрел уже даже переменные среды, переустановил креатор и один хрен все тоже.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
molchanoviv
  опции профиля:
сообщение 12.3.2010, 15:23
Сообщение #13


Старейший участник
****

Группа: Сомодератор
Сообщений: 597
Регистрация: 18.7.2008
Из: Саратов
Пользователь №: 238

Спасибо сказали: 41 раз(а)




Репутация:   5  


Глупый вопрос, но она у тебя в .qrc файле прописана?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
eldar85
  опции профиля:
сообщение 12.3.2010, 15:27
Сообщение #14


программист
***

Группа: Участник
Сообщений: 283
Регистрация: 2.1.2010
Из: Москва
Пользователь №: 1348

Спасибо сказали: 0 раз(а)




Репутация:   0  


вообще код выглядит так и все отлично работает за исключением иконки:
#include <QtGui>
#include "mainWindow.h"
#include <QFont>



using namespace std;

mainWindow::mainWindow(QWidget *parent)
    : QDialog(parent)
{


    //=======================buttons==========
    start = new QPushButton(QString::fromUtf8("&Start"));
    start->setFont(QFont("Times", 10, QFont::Bold));
    start->setFixedWidth(70);
    start->setDefault(true);
    start->setEnabled(false);

    clear = new QPushButton(QString::fromUtf8("&Clear"));
    clear->setFont(QFont("Times", 10, QFont::Bold));
    clear->setFixedWidth(70);

    //====================massege area===================
    labelLine = new QLabel(tr("message:"));
    labelLine->setFont(QFont("Times", 10, QFont::AnyStyle));
    line = new QLineEdit;
    labelLine->setBuddy(line);

    //====================label=============
    lineText1 = "Processing: ";
    labelText = new QLabel(lineText1);
    labelText->setFont(QFont("Times", 10, QFont::AnyStyle));

    howMatchMessages = new QLabel("How match messages:");
    howMatchMessages->setFont(QFont("Times", 10, QFont::AnyStyle));

    send = new QLabel("Sent: ");
    send->setFont(QFont("Times", 10, QFont::AnyStyle));

    messages = new QLabel("messages!                                                                                                                                                  .");
    messages->setFont(QFont("Times", 10, QFont::AnyStyle));

    //===================text_area==============
    text = new QTextEdit(tr("Hi!!!!"));

    howMatch = new QLabel;

    //====================spinBox=============================
    spinbox = new QSpinBox;
    spinbox->setRange(0, 1000);
    spinbox->setFixedWidth(70);
    howMatchMessages->setBuddy(spinbox);

    //==============connects===============

    connect(start, SIGNAL(clicked()), this, SLOT(Start()));
    connect(clear, SIGNAL(clicked()), this, SLOT(Clear()));
    connect(line, SIGNAL(textChanged(const QString &)), this, SLOT(enableStart(const QString &)) );
    connect(spinbox, SIGNAL(valueChanged(int)), this, SLOT(SpinBox(int)));
 //================================================================================
=============
    QVBoxLayout *layoutV = new QVBoxLayout;
    layoutV->addWidget(labelLine);
    layoutV->addWidget(line);

    QHBoxLayout *layoutHH = new QHBoxLayout;
    layoutHH->addWidget(howMatchMessages);
    layoutHH->addWidget(spinbox);
    layoutHH->addStretch();

    QHBoxLayout *layoutH = new QHBoxLayout;
    layoutH->addWidget(start);
    layoutH->addWidget(clear);
    layoutH->addStretch();

    QVBoxLayout *layoutVV = new QVBoxLayout;
    layoutVV->addWidget(labelText);
    layoutVV->addWidget(text);


    QHBoxLayout *layoutHHH = new QHBoxLayout;
    layoutHHH->addWidget(send);
    layoutHHH->addWidget(howMatch);
    layoutHHH->addWidget(messages);
    //layoutHHH->addStretch();

    QVBoxLayout *mainLayout = new QVBoxLayout;
    mainLayout->addLayout(layoutV);
    mainLayout->addLayout(layoutHH);
    mainLayout->addLayout(layoutH);
    mainLayout->addLayout(layoutVV);
    mainLayout->addLayout(layoutHHH);

    setLayout(mainLayout);

    //=====================название окна==================


    setWindowTitle(tr("Bastion"));
    setWindowIcon(QIcon("el.ico"));
    setFixedSize(700, 500);

}
Причина редактирования: Используй тэг code
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
molchanoviv
  опции профиля:
сообщение 12.3.2010, 15:28
Сообщение #15


Старейший участник
****

Группа: Сомодератор
Сообщений: 597
Регистрация: 18.7.2008
Из: Саратов
Пользователь №: 238

Спасибо сказали: 41 раз(а)




Репутация:   5  


Покажи еще файл ресурсов.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
eldar85
  опции профиля:
сообщение 12.3.2010, 15:32
Сообщение #16


программист
***

Группа: Участник
Сообщений: 283
Регистрация: 2.1.2010
Из: Москва
Пользователь №: 1348

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(molchanoviv @ 12.3.2010, 18:23) *
Глупый вопрос, но она у тебя в .qrc файле прописана?

иконка? в формате .ico) или что то другое? эту иконку пару месяцев назад я уже ставил и она прекрасно работала, но вот недавно хотел сделать чтобы библиотеки приделывались к экзэшнику статически и нифига не вышло, после 4 часов компиляции... потом креатор вообще такую чушь начал выдавать, что мне пришлось его снести и поставить новыый. и вот тут начались проблемы с иконками.

Цитата(molchanoviv @ 12.3.2010, 18:28) *
Покажи еще файл ресурсов.

хедер? или директорию где экзышник лежит?

Цитата(eldar85 @ 12.3.2010, 18:31) *
Цитата(molchanoviv @ 12.3.2010, 18:23) *
Глупый вопрос, но она у тебя в .qrc файле прописана?

иконка? в формате .ico) или что то другое? эту иконку пару месяцев назад я уже ставил и она прекрасно работала, но вот недавно хотел сделать чтобы библиотеки приделывались к экзэшнику статически и нифига не вышло, после 4 часов компиляции... потом креатор вообще такую чушь начал выдавать, что мне пришлось его снести и поставить новыый. и вот тут начались проблемы с иконками.

Цитата(molchanoviv @ 12.3.2010, 18:28) *
Покажи еще файл ресурсов.

хедер? или директорию где экзышник лежит?

#ifndef MAINWINDOW_H
#define MAINWINDOW_H


#include <QDialog>

class QSpinBox;
class QLabel;
class QLineEdit;
class QPushButton;
class QTextEdit;

class mainWindow : public QDialog
{
Q_OBJECT

public:
mainWindow(QWidget *parent=0);
private:

QTextEdit *text; // для вывода происходящего
QLineEdit *line; //for massege
QLabel *labelLine;
QLabel *labelText;
QLabel *howMatch;
QLabel *howMatchMessages;
QLabel *send;
QLabel *messages;
QPushButton *start;
QPushButton *clear;
QSpinBox *spinbox;
QString lineText1;

int spinBoxInt;

public slots:
void SpinBox(int);
void Clear();
void Start();
void enableStart(const QString &text);

};

#endif // MAINWINDOW_H
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
molchanoviv
  опции профиля:
сообщение 12.3.2010, 15:36
Сообщение #17


Старейший участник
****

Группа: Сомодератор
Сообщений: 597
Регистрация: 18.7.2008
Из: Саратов
Пользователь №: 238

Спасибо сказали: 41 раз(а)




Репутация:   5  


Цитата(eldar85 @ 12.3.2010, 15:31) *
хедер? или директорию где экзышник лежит?

Нет. qrc файл, это файл в котором прописаны ресурсы использующиеся в программе. Судя по всему у тебя его нет. Так вот создай его. В креаторе, в дереве проектов щелкни по названию проекта\добавить новый...\Файл ресурсов Qt. Затем добавь в него иконку. А потом уже переходи к коду.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
eldar85
  опции профиля:
сообщение 12.3.2010, 15:57
Сообщение #18


программист
***

Группа: Участник
Сообщений: 283
Регистрация: 2.1.2010
Из: Москва
Пользователь №: 1348

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(molchanoviv @ 12.3.2010, 18:36) *
Цитата(eldar85 @ 12.3.2010, 15:31) *
хедер? или директорию где экзышник лежит?

Нет. qrc файл, это файл в котором прописаны ресурсы использующиеся в программе. Судя по всему у тебя его нет. Так вот создай его. В креаторе, в дереве проектов щелкни по названию проекта\добавить новый...\Файл ресурсов Qt. Затем добавь в него иконку. А потом уже переходи к коду.

ну смотри, сам проект у меня находиться здесь:

c:\workspace\proga1\
получается вот так закинуть:
c:\workspace\proga1\***.qrc ???

ааа все дошло че куда))) сейчас буду пробывать))

а в нем( .qrc) путь прописать до иконки или как?

блин добавил я этот ресурс и вталкал в него иконку, но все равно тоже самое((
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
molchanoviv
  опции профиля:
сообщение 12.3.2010, 15:58
Сообщение #19


Старейший участник
****

Группа: Сомодератор
Сообщений: 597
Регистрация: 18.7.2008
Из: Саратов
Пользователь №: 238

Спасибо сказали: 41 раз(а)




Репутация:   5  


Открываешь в креаторе этот файл и в нем сперва добавляешь префикс, а затем уже и саму иконку. Там будет активна только кнопка добавить.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
eldar85
  опции профиля:
сообщение 12.3.2010, 16:08
Сообщение #20


программист
***

Группа: Участник
Сообщений: 283
Регистрация: 2.1.2010
Из: Москва
Пользователь №: 1348

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(molchanoviv @ 12.3.2010, 18:58) *
Открываешь в креаторе этот файл и в нем сперва добавляешь префикс, а затем уже и саму иконку. Там будет активна только кнопка добавить.

да я так и сделал) ничего не помогло. сейчас так же сделал в старой своей программке в которой до этого вылазила нормально эконка, походу это косяк в чем то другом... в ресурс эконка отлично добавилась и вроде как ну все уже есть и один хрен не выводит хоть убейся(

вот пример стаой программки

#include <QtGui>
#include "mainwindow.h"

#include <QFont>



using namespace std;


MainWindow::MainWindow(QMainWindow *parent)
: QMainWindow(parent)
{

mainWidget = new QWidget(this);

setCentralWidget(mainWidget);
setWindowIcon(QIcon("el.ico"));
//setWindowIcon(QIcon("el.ico")); //вывод иконки в главном окне(логотип)
// setFixedSize(1000, 500); //устанавливает фиксированный размер главного окна
//setFixedWidth(1000);
//=======================buttons==========
start = new QPushButton(QString::fromUtf8("&Start"));
start->setFont(QFont("Times", 10, QFont::Bold));
start->setFixedWidth(70);
start->setDefault(true);
start->setEnabled(false);

clear = new QPushButton(QString::fromUtf8("&Clear"));
clear->setFont(QFont("Times", 10, QFont::Bold));
clear->setFixedWidth(70);
//====================massege area===================
labelLine = new QLabel(tr("Enter a message:"));
line = new QLineEdit;
//====================label=============
lineText1 = "Processing: ";
labelText = new QLabel(lineText1);

//===================text_area==============
text = new QTextEdit(tr("Hi!!!!"));


howMatch = new QLabel;
//=================connects============
connect(line, SIGNAL(textChanged(const QString &)), this, SLOT(enabledStart(const QString &)));
connect(start, SIGNAL(clicked()), this, SLOT(Start()));
connect(clear, SIGNAL(clicked()), this, SLOT(Clear()));
//======================main_widget==========
layout = new QVBoxLayout(mainWidget);
layoutButtons = new QHBoxLayout(mainWidget);
//==================================================================



layout->addLayout(layoutButtons);
layout->setMargin(10);
layout->addWidget(labelLine);
layout->addWidget(line);
layout->addWidget(labelText);
layout->addWidget(text);
layout->addWidget(howMatch);
setLayout(layout);

//============layout fo buttons====================================

layoutButtons->addWidget(start);
layoutButtons->addWidget(clear);
layoutButtons->addStretch(); //подставляет пружинку

}

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QtGui>
#include <QIcon>



using namespace std;
class QLabel;
class QPushButton;

class MainWindow : public QMainWindow
{

Q_OBJECT

public:
MainWindow(QMainWindow *parent = 0);

QWidget *mainWidget;
QTextEdit *text; // для вывода происходящего
QLineEdit *line; //for massege
QLabel *labelLine;
QLabel *labelText;
QLabel *howMatch;
QPushButton *start;
QPushButton *clear;
QHBoxLayout *layoutButtons;
QVBoxLayout *layout;
QString lineText1;


public slots:
void Clear();
void Start();
void enableStart(const QString &text);

};

#endif // MAINWINDOW_H
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

4 страниц V  < 1 2 3 4 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 4.6.2025, 3:58