2017-01-29 10 views
0

Рассматривайте Я создал кнопку в «код C++» с именем my_button:Как настроить QPushButton в Qt кода

QPushButton* my_button = new QPushButton (tr("OK")); 

Теперь я хочу, чтобы манипулировать эту кнопку следующим образом:

  1. изменить шрифт Italic или Жирный (например, OKOK)
  2. Набор красный или синий цвет для него
  3. сделать больше шрифт/меньше
  4. Изменить его размер (высота и ширина)
  5. Изменить его положение (вправо/влево/вверх/вниз)

Я искал веб-маш, но не мог найти способ для выполнения всех работ. Я хотел бы поблагодарить вас, если вы скажете мне, как это сделать.

+0

вы можете изменить его в свойствах при проектировании –

+0

Что делать, если я создал его с использованием чистого кода на C++? Я не использовал конструктора. – Franky

+0

oh sorry, html-формат не работает над текстом qpushbutton, вам сначала нужно сделать что-то вроде этого: http://stackoverflow.com/questions/26852340/two-colours-text-in-qpushbutton –

ответ

0
QString ButtonStye = "{font: 75 12pt \"Tahoma\""; 
     "color: rgb(255, 0, 0);" 
     "width : 50px;" 
     "height: 25px;" 
    "}"; 

my_button->setStyleSheet(ButtonStye); 

Вы можете изменить размер и размер шрифта, высоты, цвета и шрифта abd. Qt Ограниченная поддержка CSS. Look At Qt Official Page's How CSS Code implement a specific Widget.

и если вы поместите свой виджет (QPushButton) в нужное положение, вы можете использовать QHBoxLayout или QVBoxLayout для positiong.

+0

Итак, вы говорите, что единственный способ позиционирования виджета (здесь * QPushButton *) использует * QH/VBoxLayout *? – Franky

+0

вы просили изменить свою позицию в 5. Что вы имеете в виду? – CMLDMR

1

Чтобы изменить характеристики кнопок вы можете использовать font и stylesheet, чтобы переместить функцию move() и изменить размер функции resize() используется. Вам не нужно больше искать Ваш Интернет, но самый лучший вариант - documentation.

QFont font = {your Button}->font(); 
font.setBold(true); //set style bold if is true 
font.setItalic(true); //set style italic if is true 
font.setPixelSize(20); // Sets the font size to pixelSize pixels. 
{your Button}->setFont(font); 
//change color 
QString Buttonstyle = "QPushButton {background-color: #0000FF, 
         color: red;}"); 

{your Button}->setStyleSheet(Buttonstyle); 
{your Button}->move({posx}, {posy}); 
{your Button}->resize({width}, {height});