→ uranusjr: 設 setCheckable(true) 然後改用 toggled(bool) signal 12/11 06:39
→ uranusjr: 然後在 parent 的 focus event 切換 checked state 12/11 06:41
→ uranusjr: 另一個方法是 subclass button 然後覆寫 focusOutEvent 12/11 06:43
subclass button 之後 會吃不到在myWidget裡面的iconValue
這樣是要寫全域變數嗎? 在myPushButton 複寫 focusOutEvent之後
想去改myWidget裡面的iconValue
#pragma once
#ifndef NEWWIDGET_H
#define NEWWIDGET_H
#include<QWidget>
#include<QPushButton>
#include<QLabel>
class myPushButton : public QPushButton
{
Q_OBJECT
public:
myPushButton(QWidget *parent = 0);
~myPushButton();
protected:
//virtual void focusInEvent(QFocusEvent *e);
virtual void focusOutEvent(QFocusEvent *e);
private:
};
class newWidget : public QWidget
{
Q_OBJECT
public:
newWidget(QWidget *parent = 0);
~newWidget();
//QPushButton *btnIcon;
QLabel *iconName;
QLabel *iconValue;
myPushButton *btnIcon;
public slots:
void labelChnageSize();
private:
int thisWidth = 0;
int thisHeight = 0;
};
#endif // WIDGETTEST_H
※ 編輯: checkIO (59.124.46.66), 12/12/2016 11:04:47