Перейти к содержанию
    

Buratino

Участник
  • Постов

    70
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Buratino

  • Звание
    Участник
    Участник
  • День рождения 17.11.1990

Информация

  • Город
    Array
  1. мне тут про layout подсказали, что его следует поместить на главный виджет и уже в него вставить тот, в котором будет что-то рисоваться, очень похоже по смыслу на Вашу сцену
  2. В программе есть два класса, основной Widget и наследник Ellipse. C помощью принципа сигналов и слотов я пытаюсь нарисовать фигуру в основном виджете, точнее, сделать так чтобы рисунок в наследнике Ellipse отображался на форме Widget, то есть вставить один виджет в другой. Как это реализовать в коде? Ellipse.h class Ellipse : public QWidget { Q_OBJECT public: Ellipse(QWidget *parent = 0); ~Ellipse(); protected: void paintEvent(QPaintEvent *event); }; Ellipse.cpp Ellipse::Ellipse(QWidget *parent) : QWidget(parent) { } Ellipse::~Ellipse() { } void Ellipse::paintEvent(QPaintEvent *event) { Q_UNUSED(event); QPainter painter(this); painter.setPen(QPen(Qt::black, 2, Qt::SolidLine, Qt::FlatCap)); painter.setBrush(QBrush(Qt::white, Qt::SolidPattern)); painter.drawEllipse(100, 50, 200, 200); painter.drawEllipse(140, 110, 40, 40); painter.drawEllipse(220, 110, 40, 40); painter.setBrush(QBrush(Qt::black, Qt::SolidPattern)); painter.drawEllipse(155, 125, 10, 10); painter.drawEllipse(235, 125, 10, 10); painter.setBrush(QBrush(Qt::white, Qt::SolidPattern)); painter.drawEllipse(150, 200, 100, 5); } Widget.cpp Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); setWindowTitle("Face"); setFixedSize(400,400); Ellipse *p = new Ellipse; connect(ui->pushButton,SIGNAL(clicked()),p,SLOT(repaint())); }
  3. я попробовал использовать scantext A = scantext(fid, '%16u16',1) таким способом получилось вывести первое число когда я попробовал поменять последний параметр функции scantext и написал так A = scantext(fid, '%16u16', -1), где -1 - чтение всего файла, в воркспэйсе получил A = [65535x1 uint16] :( а с функцией bi2de не совсем ясно как читать строки последовательно
  4. Есть .dat файл с двоичными 16разрядными данными вида: 00001111000011110000 11110000111100001111 и т.д всего 65535 строк каким способом этот файл можно считать в матрицу 65535x1 с тем условием, чтобы данные имели уже десятичный формат, а не двоичный?
  5. Всё, понял свою ошибку, подобрал транзисторы с большим Uds и всё заработало, спасибо!
  6. Ну всё так, верно. Этими резисторами задаётся напряжение Uзи, я писал про него выше
  7. Решил собрать усилитель на 50В по данной схеме http://digit-el.com/files/circuits/hvamp/hvamp.html Вместо транзисторов VT3, VT4 в выходном каскаде, использую полевые транзисторы N и P типа соответственно, рассчитанные на макс. напряжение ЗИ равное 100В. Резисторы R7, R8 взял по 10мОм. Дело в следующем, при подаче питания в 50В на транзисторе, на выходе получается синусоида с амплитудой в 49 вольт, при подаче большего напряжения полуволны начинает обрезать, и чем больше напряжение питания, тем больше обрезает. Получается, что полевые транзисторы уходят в область отсечки???Но я мерял вольтметром в мультисиме напряжение ЗИ, оно находится в диапазоне открытия транзистора P типа во время всей положительной полуволны и N типа во время всей отрицательной, тогда почему они обрезаются???
  8. Разбитые детские мечты... :( Спасибо за ответ!
  9. Объясните дураку, там это где? В пдфке, что я скинул? Но я там таких цифр как 175 С, 3.3 C/W и 45 W в упор не вижу или Вы про другой источник?
  10. Это надо в золотой фонд цитат или в рубрику "Профессионалы советуют" Надо будет ещё и радиатор с нулевым тепловым сопротивлением взять :rolleyes:
  11. Есть полевой транзистор N-типа в I-PAK корпусе IRFR024. Его максимальная рассеиваемая мощность при Tc = 25 C равна 42 W. Вопрос в следующем: как можно рассеять на транзисторе всю это мощность, чтобы он не сгорел? По моим расчётам для данного транзистора получаем: Макс. температура корпуса при рассеивании 42 W: (Tjunc.max - P*Rjc) = (150 - 42*3) = 24 C. Температурное сопротивление корпус-радиатор Rjhs c использованием теплопроводящей диэлектрической подложки примем 2 С/W. Получаем, что максимально допустимая температура радиатора будет составлять (Tc - P*Rjhs) = (24 - 42*2) = - 60 C. Выходит, что такую мощность попросту невозможно рассеять на данном транзисторе? irfr024.pdf
  12. Вставил в цикл и поехало! :) Только ,правда, прога притормаживает неплохо так :smile3046: :laugh: AHTOXA Переделал по Вашему образцу, теперь всё чётко работает, спасибо! :disco:
  13. При выполнении потока по нажатию кнопки, сама кнопка зависает, и невозможно выполнение никаких других действий до завершения всех действий в потоке, что я не так делаю? Код Unit2.сpp потока : #include <vcl.h> #pragma hdrstop #include "Unit1.h" #include "Unit2.h" #include "Windows.h" #include "math.h" #pragma package(smart_init) #define pi 3.1415926 __fastcall Ready::Ready(bool CreateSuspended) : TThread(CreateSuspended) { } //--------------------------------------------------------------------------- void __fastcall Ready::Execute() { Synchronize(Graph); //---- Place thread code here ---- } void __fastcall Ready::Graph(void) //определение cозданной функции { for (int i = 0; i < 1000; i++) { Form1->Memo2->Lines->Add(sin(i)); Sleep(2000); } } Unit2.h: class Ready : public TThread { private: protected: void __fastcall Execute(); public: TMemo *Memo2; //объект мемо void __fastcall Graph(); __fastcall Ready(bool CreateSuspended); //объявление исполняемой функции }; код обработчика кнопки Button2 Unit1.cpp: void __fastcall TForm1::Button2Click(TObject *Sender) { Thread = new Ready(false); //cоздал объект класса TThread (Ready) Thread->FreeOnTerminate = true; //разрушаем объект после окончания выполнения Thread->Priority = tpLower; //задал приоритет }
  14. Решил вопрос с помощью компонента Timer в С++ Builder, самый простейший вариант, точность порядка десятков мс, но она хромает, причём нормально :)
×
×
  • Создать...