0
私は2つのプッシュボタンとKLineEditを含む単純なKDEプラズマプラグインを実装しようとしている、Plasma :: PushButtonのサイズを設定しますか?
しかし、それはKLineEditだとパネルが十分な高さを持っていない場合、プッシュボタンは、最小サイズを持っている、いくつかの部分パネル上で消えますが、パネルが縮小するにつれて縮小しません。
私はすでにQSizePolicyを最小値に設定しているので、ユーザーがパネルをドラッグする際にサイズ変更の理由がわからないのですか?
おかげで、ここで主クラスファイルです:
#include <Plasma/Theme>
#include <Plasma/Corona>
#include <Plasma/Containment>
#include <Plasma/ToolTipManager>
K_EXPORT_PLASMA_APPLET(runcommand, RunCommandApplet)
RunCommandApplet:: RunCommandApplet(QObject *parent, const QVariantList &args) : Plasma::Applet(parent, args)
{
paste_button = new Plasma::PushButton (this);
paste_button->setText (tr("Pa"));
m_button = new Plasma::PushButton (this);
m_button->setText (tr("Ki"));
m_lineEdit = new Plasma::LineEdit (this);
QGraphicsLinearLayout *layout = new QGraphicsLinearLayout();
layout->addItem (m_button);
layout->addItem (paste_button);
layout->addItem (m_lineEdit);
setLayout(layout);
constraintsEvent(Plasma::FormFactorConstraint | Plasma::ImmutableConstraint);
Plasma::ToolTipManager::self()->setContent(this, Plasma::ToolTipContent(i18n("Client"), i18n("Some Client"), KIcon("system-run").pixmap(IconSize(KIconLoader::Desktop))));
}
void RunCommandApplet::constraintsEvent(Plasma::Constraints constraints)
{
m_button->setSizePolicy(QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum));
paste_button->setSizePolicy(QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum));
m_lineEdit->setSizePolicy(QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum));
}
ここに例を挙げてください。 KDEが提供するドキュメントはかなり貧弱で、 'QSizePolicy :: PolicyFlag'を設定する方法を見つけることができません。 – daisy
ShrinkFlagはQSizePolicy :: Maximumと同等です。 – Neox
ありがとうございました、ポリシーを最大に設定すると、PLasma :: LineEditに役立ちました – daisy