Ú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.
![;]](//cdn.rios.hu/dl/s/v1.gif)
-
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
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Okos Otthon / Smart Home
- Milyen routert?
- Redmi Note 13 Pro+ - a fejlődés íve
- Battlefield 6
- A fociról könnyedén, egy baráti társaságban
- Luck Dragon: Asszociációs játék. :)
- Kész rémálom lesz Linuxot használni jövőre az USA egyes államaiban
- Építő/felújító topik
- AMD Navi Radeon™ RX 9xxx sorozat
- Házimozi belépő szinten
- További aktív témák...
- ThinkPad T14 Gen3 27% 14" FHD+ IPS i7-1255U 16GB 512GB NVMe ujjlolv IR kam gar
- AMD Ryzen 7 Gamer! Ryzen 7 5700X / B550 Aorus Elite/RX 6600 XT 8GB OC / 500GB M.2 SSD+HDD /700W/LED
- Ryzen 5 Gamer! Ryzen 5 3400G PRO / 16GB DDR4 / Nvidia GTX 1660 Ti 6GB OC / SSD+HDD / 600W /RGB LED!
- 6.Gen i7-es Gamer! Core i7 6700 / 16GB DDR4 / Nvidia GTX 1660 Super! 6GB OC / SSD+HDD /600W/FULLRGB
- 9.Gen i7-es Gamer! Core i7 9700K / 16GB DDR4 /Nvidia RTX 2060 Super! 8GB OC /500GB SSD+HDD/600W/RGB
- Samsung Galaxy S22 8/128GB - Kártyafüggetlen, Fekete - 1 Év Garanciával
- iKing.hu Apple iPhone 14 Pro Deep Purple 128GB használt megkímélt 100% akku 6 hónap garancia
- Bomba ár! Panasonic CF-20-2 Tab+Laptop: i5-7G I 8GB I 256SSD I 10,1" WUXGA Touch I Cam I W11 I Gar
- LG 40U990A-W / 40" Ívelt Nano IPS Black / 5K UHD 120Hz / 2x ThunderBolt 5.0 / Adobe RGB 99%
- HIBÁTLAN iPhone 12 Pro Max 256GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS4306, 100 AKKSI
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

![;]](http://cdn.rios.hu/dl/s/v1.gif)
