bool call(QObject *qo, QMetaMethod metaMethod, void **data) {
QGenericReturnArgument returnArgument(metaMethod.typeName(), data);
bool ok = metaMethod.invoke(qo, Qt::DirectConnection, returnArgument);
if(ok) {
QLayout *layout = reinterpret_cast<QLayout *>(*data); // Всё ок
qDebug() << layout ->metaObject()->className(); // QLayout
}
return ok;
}
package my.cloneable;
class User implements Cloneable {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public User clone() throws CloneNotSupportedException {
return (User)super.clone();
}
}
public class App {
public static void main(String[] args) {
User user = new User();
user.setName("Иванов");
user.setAge(25);
System.out.println("Данные до клонирования: " +
user.getName() + " - " + user.getAge() + "лет");
User clone;
try {
clone = user.clone();
clone.setName("Петров");
clone.setAge(30);
System.out.println("Клон после изменения данные: " +
clone.getName() + " - " + clone.getAge() + "лет");
} catch (CloneNotSupportedException e) {
System.out.println("Объект не может быть клонированным.");
}
System.out.println("Оригинал, после манипуляций с клоном: " +
user.getName() + " - " + user.getAge() + "лет");
}
}
/* результат:
Данные до клонирования: Иванов - 25лет
Клон после изменения данные: Петров - 30лет
Оригинал, после манипуляций с клоном: Иванов - 25лет
*/
public bool setValue(String key, String value) {
try {
declaredField = this.getClass().getDeclaredField("var");
declaredField.set(this,value);
} catch (NoSuchFieldException e) {
return false
}
}
html, body {
height: 100%;
margin: 0px;
padding: 0px;
}
.content { /* основное содержимое сайта */
margin-bottom: 120px; /* высота подвала */
}
.content:after { /* не обязательно - только чтобы дополнительные div'ы с clear: both не вставлять */
content: "";
height: 0px;
display: block;
margin: 0px;
padding: 0px;
clear: both;
}
.footer { /* собственно подвал, расположенный сразу за .content */
position: fixed;
left: 0px;
bottom: 0px;
height: 120px;
}