View Full Version : QPushbutton to fit it's text
Equilibrium
22nd June 2006, 14:20
Hi All ,
I've been tring to fit a QPushbutton according to it's text , but was unable to do so.
Can anyone assist?
sumsin
22nd June 2006, 14:36
use adjustSize().
Equilibrium
22nd June 2006, 14:46
Give me some credit i've already tried this ;) , but it was not successfull.
Let me explain abit , I'm using this pushbutton as awidget in Qtable.
Here's the code (I've left some parts):
QPushButton * set,* reset;
reset = new QModifiedQPushButton("reset",m_table);
reset->setEnabled(false);
set = new QModifiedQPushButton("set",m_table);
connect(set,SIGNAL(clicked()),reset,SLOT(setEnable ()));
m_table->setCellWidget(m_table->numRows()-1,5,set);
m_table->setCellWidget(m_table->numRows()-1,6,reset);
set->adjustSize();
reset->adjustSize();
for(int i = 0 ; i< m_table->numCols();i++)
m_table->adjustColumn(i);
Equilibrium
22nd June 2006, 15:09
manged to Fix the problem!! :)
Maybe there are better ways but this is how i did it:
1. subclass QPushButton.
2. overwrite the virtual sizeHint() function
3. In this function return the prefered sizeHint (QPushButton sizeHint().width=80)
4. call adjustSize() on your subclassed QPushButton.
Code:
Header ->
class QModifiedQPushButton : public QPushButton
{
Q_OBJECT
public:
QModifiedQPushButton(const QString &text ,QWidget * parent = 0, const char * name = 0 );
virtual ~QModifiedQPushButton();
QSize sizeHint() const;
};
CPP ->
QModifiedQPushButton::QModifiedQPushButton(const QString &text ,QWidget * parent,const char * name) : QPushButton(text,parent,name)
{
}
QModifiedQPushButton::~QModifiedQPushButton()
{
}
QSize QModifiedQPushButton::sizeHint() const
{
return QSize(40,28); // you can return whatever size here
}
wysota
22nd June 2006, 16:15
Why not just call setFixedSize?
mypushbutton->setFixedSize(40,25);
BTW. You don't need the Q_OBJECT macro in the class you have shown here.
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.