Коли нам потрібно конвертувати один файл, то ми виконуємо термінальну команду:
pyside6-uic ui_mainwindow.ui > ui_mainwindow.py
А коли фалів багато - то таку команду:
for i in `ls *.ui`; do pyside6-uic $i > ${i:0:-2}py; done
Про ОС Ubuntu в моєму житті
Коли нам потрібно конвертувати один файл, то ми виконуємо термінальну команду:
pyside6-uic ui_mainwindow.ui > ui_mainwindow.py
А коли фалів багато - то таку команду:
for i in `ls *.ui`; do pyside6-uic $i > ${i:0:-2}py; done
Всім привіт!
Знайшов цікавий курс для новачків Уроки програмування на С++
Даний курс є безкоштовним, має теоретичну та практичну частини.
Зауважу, що курс є перекладом Ravesli | Уроки по С++
class Human
{
// Атрибути даних:
string Name;
string DateOfBirth;
string PlaceOfBirth;
string Gender;
// Методи:
void Talk(string TextToTalk);
void IntroduceSelf();
void Walk();
};
IntroduceSelf()
використовує метод void Talk()
і деякі з атрибутів даних, котрі згруповані в конструкції class Human.
Human
.Tom
класу Human
, як локальну змінну:Human Tom; // екземпляр класу Human
Human
у динамічній пам’яті, використавши оператор new
:Human* pAnotherHuman = new Human(); // розподіл динамічної пам’яті для об’єкта класу Human
delete pAnotherHuman; // звільнення пам’яті, зайнятої об’єктом класу Human
Об’єкт Tom
має такий атрибут, як DateOfBirth()
, до якого можна звернутись, використавши оператор точки (.) (dot operator):Tom.DateOfBirth = "1970";
DateOfBirth
буде виконуваним тільки тоді, коли створено об’єкт. Оператор точки (.) дозволяє нам звертатись не тільки до атрибутів класу, а також і до його методів, таких, як IntroduceSelf():
Tom.
IntroduceSelf();
Якщо у вас є вказівник pTom
на екземпляр класу Human
, то для доступу до його членів можна використати оператор вказівника (->), або оператор непрямого доступу (*) для посилання на об’єкт із наступним оператором точки:Human* pTom = new Human();
(*pTom).IntroduceSelf();
new
, або якщо у вас є вказівник на готовий об’єкт, то для доступу до його атрибутів і функцій можна використати оператор вказівника (->):Human* pTom = new Human();
pTom->DateOfBirth = "1970";
pTom->IntroduceSelf();
delete pTom;
//Альтернативно при наявності вказівника:
Human Tom;
Human *pTom = &Tom; // Присвоїти адресу, використавши оператор посилання &
pTom->DateOfBirth = "1970"; // еквівалентно
Tom.DateOfBirth = "1970";
pTom->IntroduceSelf(); // еквівалентно
Tom.
IntroduceSelf();
Human
із ключовими словами private та public:Human
------------------------------------------------------------
#include
#include
using namespace std;
class Human
//Лінія 4.
{
private:
string Name;
int Age;
public:
void SetName (string HumansName)
{
Name = HumansName;
}
void SetAge(int HumansAge)
{
Age = HumansAge;
}
void IntroduceSelf()
// Лінія 21.
{
cout << "I am " << Name << " and am ";
cout << Age << " years old" << endl;
}
};
// Лінія 26.
int main()
{
// Constructing an object of class Human with attribute Name as "Adam"
Human FirstMan;
// Лінія 31.
FirstMan.SetName("Adam");
FirstMan.SetAge(30);
// Constructing an object of class Human with attribute Name as "Eve"
Human FirstWoman;
// Лінія 36.
FirstWoman.SetName("Eve");
FirstWoman.SetAge (28);
FirstMan.IntroduceSelf();
FirstWoman.IntroduceSelf();
//Лінія 41.
}
------------------------------------------------------------
int main()
створюють два об’єкти класу Human
. Наступні лінії встановлюють значення змінних-членів об’єктів FirstMan
та FirstWoman
. використовуючи методи SetName()
та SetAge()
, котрі є методами доступу (accesor metod). Зверніть увагу, що в лініях 40 та 41 виклик метода цих двох об’єктів дозволив створити дві різних лінії у виведенні, котрі використовують змінні-члени (member variable), значення котрих були встановлені вище.