crossplatform.ru

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

> кнопки-иконки
breeve
  опции профиля:
сообщение 2.2.2010, 14:02
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 188
Регистрация: 26.12.2009
Пользователь №: 1336

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




Репутация:   1  


Как сделать иконку на которую можно нажать? сделал вот так:
icon = new QPushButton;
    icon->setFlat(true);
    QPixmap pix("lamp.png");
    icon->setIcon(pix);
    icon->setIconSize(pix.size());
    icon->setMask(pix.mask());

Но получается так что картинка немного глюченная, не прорисованная до конца как должна быть.. может есть какие-то другие варианты?
В дальнейшем планируется изменять цвет иконки при нажатии..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
BRE
  опции профиля:
сообщение 11.2.2010, 20:09
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


А вот так попробуй: :)
QPushButton:focus {
border-style: none;
}

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
breeve
  опции профиля:
сообщение 11.2.2010, 20:29
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 188
Регистрация: 26.12.2009
Пользователь №: 1336

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




Репутация:   1  


Цитата(BRE @ 11.2.2010, 20:09) *
А вот так попробуй: :)
QPushButton:focus {
border-style: none;
}
Тоже самое.. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 11.2.2010, 20:52
Сообщение #4


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


Цитата(breeve @ 11.2.2010, 20:29) *
Тоже самое.. :)

Вот смотри что у меня.
(После загрузки файла расширение .txt убери)
Прикрепленные файлы
Прикрепленный файл  out.ogv.txt ( 45,56 килобайт ) Кол-во скачиваний: 325
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
breeve
  опции профиля:
сообщение 12.2.2010, 9:16
Сообщение #5


Участник
**

Группа: Участник
Сообщений: 188
Регистрация: 26.12.2009
Пользователь №: 1336

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




Репутация:   1  


Цитата(BRE @ 11.2.2010, 20:52) *
Вот смотри что у меня.
:blink: я вообще ничего не понимаю. Получается что белый квадрат преследует только меня. :o: Кинь мне свой код, для сравнения, желательно весь.

Сообщение отредактировал breeve - 12.2.2010, 9:17
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 12.2.2010, 9:21
Сообщение #6


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


Цитата(breeve @ 12.2.2010, 9:16) *
Цитата(BRE @ 11.2.2010, 20:52) *
Вот смотри что у меня.
:blink: я вообще ничего не понимаю. Получается что белый квадрат преследует только меня. :o: Кинь мне свой код, для сравнения, желательно весь.

Это я дизайнере баловался, т.е. могу сбросить .ui и картинки.
Пути до картинок не забудь откорректировать.
Да, использовал дизайнер от Qt 4.6.1.

Прикрепленные файлы
Прикрепленный файл  test.tar.gz ( 15,97 килобайт ) Кол-во скачиваний: 302
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
breeve
  опции профиля:
сообщение 12.2.2010, 9:45
Сообщение #7


Участник
**

Группа: Участник
Сообщений: 188
Регистрация: 26.12.2009
Пользователь №: 1336

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




Репутация:   1  


Цитата(BRE @ 12.2.2010, 9:21) *
Это я дизайнере баловался, т.е. могу сбросить .ui и картинки.
Пути до картинок не забудь откорректировать.
Да, использовал дизайнер от Qt 4.6.1.

я выдернул код из твоего .ui вот он:
Раскрывающийся текст
/********************************************************************************
** Form generated from reading UI file 'untitlednn3573.ui'
**
** Created: Fri Feb 12 10:00:40 2010
**      by: Qt User Interface Compiler version 4.6.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UNTITLEDNN3573_H
#define UNTITLEDNN3573_H

#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QHBoxLayout>
#include <QtGui/QHeaderView>
#include <QtGui/QLineEdit>
#include <QtGui/QPushButton>
#include <QtGui/QSpacerItem>
#include <QtGui/QVBoxLayout>
#include <QtGui/QWidget>

QT_BEGIN_NAMESPACE

class Ui_Form
{
public:
    QVBoxLayout *verticalLayout;
    QHBoxLayout *horizontalLayout;
    QPushButton *pushButton;
    QSpacerItem *horizontalSpacer;
    QLineEdit *lineEdit;

    void setupUi(QWidget *Form)
    {
        if (Form->objectName().isEmpty())
            Form->setObjectName(QString::fromUtf8("Form"));
        Form->resize(351, 117);
        verticalLayout = new QVBoxLayout(Form);
        verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
        horizontalLayout = new QHBoxLayout();
        horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
        pushButton = new QPushButton(Form);
        pushButton->setObjectName(QString::fromUtf8("pushButton"));
        pushButton->setMinimumSize(QSize(64, 64));
        pushButton->setStyleSheet(QString::fromUtf8("QPushButton {\n"
"    image: url(/home/bre/svn-commit.png);\n"
"    border: none;\n"
"}\n"
"\n"
"QPushButton:hover {\n"
"    image: url(/home/bre/svn-update.png);\n"
"}\n"
"\n"
"QPushButton:pressed {\n"
"    image: url(/home/bre/svn_add.png);\n"
"}\n"
"\n"
"QPushButton:focus {\n"
"    border-style: none;\n"
"}\n"
""));
        pushButton->setIconSize(QSize(64, 64));

        horizontalLayout->addWidget(pushButton);

        horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);

        horizontalLayout->addItem(horizontalSpacer);


        verticalLayout->addLayout(horizontalLayout);

        lineEdit = new QLineEdit(Form);
        lineEdit->setObjectName(QString::fromUtf8("lineEdit"));

        verticalLayout->addWidget(lineEdit);


        retranslateUi(Form);

        QMetaObject::connectSlotsByName(Form);
    } // setupUi

    void retranslateUi(QWidget *Form)
    {
        Form->setWindowTitle(QApplication::translate("Form", "Form", 0, QApplication::UnicodeUTF8));
    } // retranslateUi

};

namespace Ui {
    class Form: public Ui_Form {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UNTITLEDNN3573_H
и вставил в свой и тот же самый белый квадрат.. Я уже начинаю думать что это так и должно быть.. :unsure:

Сообщение отредактировал breeve - 12.2.2010, 10:03
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 12.2.2010, 10:10
Сообщение #8


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


Цитата(breeve @ 12.2.2010, 9:45) *
я выдернул код из твоего .ui и вставил в свой и тот же самый белый квадрат..

Я так понял у тебя Mac? Возможно для этого стиля идут дополнительные настройки css для всего приложения.
Посмотри раздел в assistant Qt Style Sheet Reference, на тему List Properties и попробуй поиграть с настройками,
попробуй border-image: none

А то сложно, что-то проверить, если у себя воспроизвести не получается. ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
breeve
  опции профиля:
сообщение 12.2.2010, 10:28
Сообщение #9


Участник
**

Группа: Участник
Сообщений: 188
Регистрация: 26.12.2009
Пользователь №: 1336

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




Репутация:   1  


Цитата(BRE @ 12.2.2010, 10:10) *
Я так понял у тебя Mac? Возможно для этого стиля идут дополнительные настройки css для всего приложения.
Как это у меня Mac? O_o.. Всмысле ты имеешь ввиду ОСь, или стиль тут какой-то? Если ОСь то у меня убунту. Если стиль то сам я его не выбирал, и стандартный там точно не маковский.
Цитата
А то сложно, что-то проверить, если у себя воспроизвести не получается. ;)
Вообщем написал все заново чтобы не было ничего лишнего. Вот тут код с картинками, для проверки. Никаких путей вроде менять не надо..

Сообщение отредактировал breeve - 12.2.2010, 10:29
Прикрепленные файлы
Прикрепленный файл  button.zip ( 254,42 килобайт ) Кол-во скачиваний: 118
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 12.2.2010, 10:34
Сообщение #10


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


Цитата(breeve @ 12.2.2010, 10:28) *
Как это у меня Mac? O_o.. Всмысле ты имеешь ввиду ОСь, или стиль тут какой-то? Если ОСь то у меня убунту. Если стиль то сам я его не выбирал, и стандартный там точно не маковский.

Это я по декорации окна так подумал. :)

Цитата(breeve @ 12.2.2010, 10:28) *
Вообщем написал все заново чтобы не было ничего лишнего. Вот тут код с картинками, для проверки. Никаких путей вроде менять не надо..

А у меня нормально. :)
Fedora 11 (x86_64)

Прикрепленные файлы
Прикрепленный файл  out.ogv.txt ( 40,44 килобайт ) Кол-во скачиваний: 268
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- breeve   кнопки-иконки   2.2.2010, 14:02
- - lucifer_vrn   breeve, попробуй так: QToolButton *buttonOpen = ...   2.2.2010, 14:22
|- - breeve   Цитата(lucifer_vrn @ 2.2.2010, 14:22) bre...   2.2.2010, 14:51
- - lucifer_vrn   ну тогда создать класс унаследованный от QToolButt...   2.2.2010, 15:16
- - MoPDoBoPoT   Цитата(breeve @ 2.2.2010, 14:51) Необходи...   2.2.2010, 16:00
|- - JuryS1806   Думаю только может помочь что троли прописали. тол...   2.2.2010, 18:17
- - breeve   Цитата(MoPDoBoPoT @ 2.2.2010, 16:00) Есть...   2.2.2010, 17:56
- - Litkevich Yuriy   Цитата(JuryS1806 @ 2.2.2010, 21:17) style...   2.2.2010, 18:54
- - breeve   Наследовал класс от pushbutton и переопределил мет...   5.2.2010, 11:08
- - breeve   Как не пробую не получается...   10.2.2010, 16:32
- - BRE   А почему не использовать стили, как посоветовал Ju...   10.2.2010, 16:49
|- - breeve   Цитата(BRE @ 10.2.2010, 16:49) А почему н...   10.2.2010, 17:31
- - BRE   А про это читал/пробовал? QPushButton:focus {....   10.2.2010, 19:03
|- - breeve   Цитата(BRE @ 10.2.2010, 19:03) А про это ...   11.2.2010, 9:48
|- - breeve   Цитата(breeve @ 11.2.2010, 9:48) появляет...   11.2.2010, 19:44
- - BRE   Вот так попробуй: QPushButton:focus { border: non...   11.2.2010, 19:52
|- - breeve   Цитата(BRE @ 11.2.2010, 19:52) Вот так по...   11.2.2010, 20:06
- - BRE   А вот так попробуй: QPushButton:focus { borde...   11.2.2010, 20:09
|- - breeve   Цитата(BRE @ 11.2.2010, 20:09) А вот так ...   11.2.2010, 20:29
|- - BRE   Цитата(breeve @ 11.2.2010, 20:29) Тоже са...   11.2.2010, 20:52
|- - breeve   Цитата(BRE @ 11.2.2010, 20:52) Вот смотри...   12.2.2010, 9:16
|- - BRE   Цитата(breeve @ 12.2.2010, 9:16) Цитата(B...   12.2.2010, 9:21
|- - breeve   Цитата(BRE @ 12.2.2010, 9:21) Это я дизай...   12.2.2010, 9:45
|- - BRE   Цитата(breeve @ 12.2.2010, 9:45) я выдерн...   12.2.2010, 10:10
|- - breeve   Цитата(BRE @ 12.2.2010, 10:10) Я так поня...   12.2.2010, 10:28
|- - BRE   Цитата(breeve @ 12.2.2010, 10:28) Как это...   12.2.2010, 10:34
|- - breeve   Цитата(BRE @ 12.2.2010, 10:34) А у меня н...   12.2.2010, 10:41
|- - BRE   Цитата(breeve @ 12.2.2010, 10:41) Цитата(...   12.2.2010, 11:28
- - Litkevich Yuriy   тему разделил: CommandLinkButton и StyleSheet   10.4.2010, 13:11


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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




RSS Текстовая версия Сейчас: 29.11.2024, 19:33