tintix Ierakstīts Decembris 3, 2007 Share Ierakstīts Decembris 3, 2007 (labots) Kursadarbam rakstu progu Qt freimvorkā SAMBA's failu šeringa pārvaldīšanai. Qt esmu iesācējs, un dažas lietas īsti nesaprotu. Objektus (pogas u.t.t.) mēs savienojam ar to attiecīgiem signāliem. Piemeram, iekš share.cpp (skat. zemāk), pushButton_2 savienojam ar signalu clicked() - to nospiežot, tiek izpildīta attiecīgā slota funkcija getPath(). Jautajums - vai ar signalu/slotu palīdzību ir iespējams palaist kādu funkciju smb_conf(), ielādējoties dialogam (formai)? Piemēram, ka iekš Delphi OnActivate. Vai Qt arī tā var? Kādu tieši objektu ar kādu signālu savienot? Tas ir mans main.cpp #include <QApplication> #include "share.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); share *dialog = new share; dialog->show(); return app.exec(); } share.cpp #include <QtGui> #include "share.h" share::share(QDialog *parent) { setupUi(this); //Palaiž GUI //Savienoju slotus ar signaliem u.t.t. Pats nesaprotu, bet čoms saka ka strādās. :) connect( pushButton_2, SIGNAL( clicked() ), this, SLOT( getPath() ) ); } void share::getPath() { QString path; path = QFileDialog::getExistingDirectory( this, "Izvēlies mapi, lai atvērtu!", QDir::currentPath() ); lineEdit_3->setText( path ); } void share::smb_conf () { int unsigned i = 0, linecounter = 0; QString tx; QString name[30]; QString path[30]; QString comment[30]; QString writeable[30]; QString read_only[30]; QFile fa ("/home/tintix/Desktop/smb.conf"); if (fa.open(QIODevice::ReadOnly | QIODevice::Text)) { while (!fa.atEnd()) { linecounter++; tx = fa.readLine(); un tā tālāk... share.h #ifndef SHARE_H #define SHARE_H #include "ui_share.h" class share : public QDialog, private Ui::dialogs { Q_OBJECT public: share(QDialog *parent = 0); public slots: void getPath(); //Izveidoju slotus, pa kuriem sūtīšu paveles (signālus) objektiem! :) void smb_f(); }; #endif Labots Decembris 3, 2007 - tintix Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!