- OLED TV topic
- Fujifilm X
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Samsung LCD és LED TV-k
- Így nézz tévét 2025-ben: új ajánlások, régi szabályok
- Milyen videókártyát?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Házimozi belépő szinten
- GeForce RTX 5050 kártyák az MSI portfóliójából
- Milyen billentyűzetet vegyek?
Új hozzászólás Aktív témák
-
CPT.Pirk
Jómunkásember
válasz
dabadab #4423 üzenetére
Hű, szerintem .-al írtam, de ez most jó kérdés.
Egyébként a google-ös találatok miszerint static_cast<int16_t> -al kellene castolni float-ból int-be, az stimmel? Ezt a floor() dolgot megpróbálom holnap, csak közben lebetegedtem kicsit, a cucc meg bent van így távgyógyítás lesz...
-
CPT.Pirk
Jómunkásember
Sziasztok,
Arduino alatt működő, stewart platform koordináta transzformáló kód részletet szeretnék átvinni az őt irányító Raspberry-re, mert egyszerűen nem végez időben a gyenge kis Arduino a számításokkal.
Az Rpi-n fut a szerkezet vezérlő programja, ahová ebben a formában beépítettem: https://pastebin.com/PHkg33Xh
Nincs fordítási hibám, de mikor ehhez a sorhoz ér a kód futása, akkor elszáll a program hibaüzi nélkül:platEnd[motor].x = rotationMatrix[0] * (platStart[motor].x - poi.x) + rotationMatrix[1] * (platStart[motor].y - poi.y) + rotationMatrix[2] * (platStart[motor].z - poi.z) + x + (platStart[motor].x - poi.x);
Akkor is, ha csak ennyi van ott:platEnd[motor].x = rotationMatrix[0];
A baloldali rész az int16, az egyenlőség jobb oldalán float van.Próbáltam castolni igy, de elhal így is:
platEnd[motor].x = static_cast<int16_t>rotationMatrix[0];
Viszont ha kézzel odaírok egyplatEnd[motor].x = 12,3;
-at, akkor azzal semmi baja.
-
CPT.Pirk
Jómunkásember
válasz
dabadab #3855 üzenetére
QRect, oké.
Arra gondoltam, hogy class-on kívüli változókat töltök fel a MainWindow létrejövetelénél és azokat simán átadom másik fájlnak, de rá kellett jönnöm, hogy a gomb előbb jön létre, mint a MainWindow amin rajta van így ez nem járható.
Végül aztán a slotokkal sikerült megcsinálni. Betettem a MainWindowhoz egy slotot a két QRect elküldésére, a constructorban megcsinálom a qrectec feltöltését és a connectet a vevő oldallal, majd emittálok.
...
connect(this, &MainWindow::SendDimensions, ui->movedPushButton, &mousemovedbutton::GetDimensions);
LabelDimensions.setX(ui->label_2->width());
LabelDimensions.setY(ui->label_2->height());
PushBtnDimensions.setX(ui->movedPushButton->width());
PushBtnDimensions.setY(ui->movedPushButton->height());
emit SendDimensions(LabelDimensions, PushBtnDimensions);Így most faszán odaérnek a paraméterek a vevő oldalra és tudok velük dolgozni.
-
CPT.Pirk
Jómunkásember
Sima C-s és Pascalos fejjel van egy kérdésem.
QT creatorban a MainWindow osztálynak van egy ilyen része:
public:
explicit MainWindow(QWidget *parent = 0);
QPoint GetLabel2WidthHeight();
QPoint GetPushButtonDimensions();amikkel szeretném máshonnan lekérdezni a mainformon lévő két widget xy paraméterét.
Egy másik CPP fájlból szeretném az előző paramétereket átemelni, és ott dolgozni velük:
...
int Border_x, Border_y, PB_Width, PB_Heigt;
mousemovedbutton::mousemovedbutton(QWidget *parent) : QPushButton(parent)
{
MainWindow * mw = new MainWindow();
QPoint Dimensions;
Dimensions = mw->GetLabel2WidthHeight();
Border_x = Dimensions.x();
Border_y = Dimensions.y();
Dimensions = mw->GetPushButtonDimensions();
PB_Width = Dimensions.x();
PB_Heigt = Dimensions.y();
qDebug() << "GetDimensions " << QString("bx: %1 by: %2 | w: %3 h: %4").arg(Border_x).arg(Border_y).arg(PB_Width).arg(PB_Heigt);
}
...Ez így nem ad hibát fordításkor, de a program meghal, valszeg mert nem kellene még egy példányt létrehoznom a MainWIndow-ból...
C-ben set és get függvényeket írogattam ilyesmire, úgy simán ment a dolgok átadása fájlok között. Pascalban sem volt bonyolultabb. Itt c++ alatt egyáltalán megoldható ez amit szeretnék, vagy ezt is valahogy slotokkal és szignálokkal kellene csinálni?
Röviden összefoglalva egy cimkéből csinált keretben van egy gomb, amit az egérmutató közeledésére szeretnék arrébb mozgatni, de ehhez kellene a keret és a gomb xy paraméteri. Az egérmutató mozgására adott szignál meg slotos részek már megvannak.
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- LG 55B4 - 55" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
- Keresünk dokkolókat
- Xiaomi Redmi Note 11 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! MSI B450M R5 3600 16GB DDR4 512GB SSD RTX 2060 Super 8GB THERMALTAKE Core V21 500W
- AKCIÓ! ASRock B85M Pro4 B85 chipset alaplap garanciával hibátlan működéssel
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest