LINUX.ORG.RU

Сообщения jeep

 

mime

Форум — Development

jeep
()

QMimeData

Форум — Development

jeep
()

[QT] сообщение владельцу объекта

Форум — Development

Здравствуйте! Как правильно послать сообщение владельцу объекта? Т.е. допустим у меня есть

namespace Ui
{
    class MainWindow;
}
class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();
private slots:
    void AddDialog();
    void FinishedDialog(int);
    void AcceptDialog();
    void RejectDialog();
    void HideDialog();


private:
    Dialog* m_dlg;
    Ui::MainWindow *ui;
};
В нем есть m_dlg, в котором кнопка Add. Как ПРАВИЛЬНО передать владельцу объекта m_dlg, что кнопка add нажата? У меня собственно два варианта было: - создать глобальный объект некоторого класса в котором были бы только сигналы и слоты и объект этого класа занимался бы такими ситуациями, когда нужно передать сообщение от объекта к владельцу. - Создать в диалоге функцию getAddButton() которая возвращает указатель на кнопку и в месте где создается объект подсоединить нужный сигнал к нужному слоту. Но чувствую что ни тот ни другой вариант не красивые. Подскажите пожалуйста.

 

jeep
()

[QT] subclassing

Форум — Development

Здравствуйте! ДОпустим я в QT Disigner создал виджет QTableWidget. Как бы мне сделать сабклассинг этого виджета. Те я создал дополнительно класс. «CTablePay.h»

#include <QTableWidget>
class QLabel;
class QPushButton;
class QLineEdit;
class TablePay :public QTableWidget{
Q_OBJECT
        public:
        TablePay(QWidget* parent = 0);
        //signals:
        //void HellofromTablePay(const QString&);
        private slots:
        void getHello(const QString&);
        private:
        QString t_str;
};
#endif // CTABLEPAYS_H
CTablePay.cpp
#include <QtGui>
#include "CTablePays.h"

TablePay::TablePay(QWidget* parent)
        :QTableWidget(parent)
{

    t_str="hello,world";
}


void TablePay::getHello(const QString& s)
{
    t_str=s;
}

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QtGui/QMainWindow>
#include "CTablePays.h"
namespace Ui
{
    class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
    QTableWidget* buf_p;
    //TablePay* real_p;
};

#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "CTablePays.h"
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent), ui(new Ui::MainWindow),buf_p(new TablePay(ui->buf_pay))//,real_p(&TablePay(ui->real_pay))
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}
На главном окне некий виджет QTablePay. Хотелось бы как то сделать так чтобы за место QTableWidget Создавался объект моего класса, который является наследником QTableWidget. Помогите пожалуйста разобраться.

 

jeep
()

multiple definition

Форум — Development

Здравствуйте! Я тут с траблом столкнулся и никак не найти хорошего решения. Есть файл base.h в котором хранятся констатнты const char* name = «lalala »; const int i=1; итд сделал base.cpp в котором #include «base.h»

И есть куча других файлов в которые эти могут быть включены . Те понятно что если я включу base.h, то компилятор будет недоволен. И ведь так и есть. Он выводит мне сообщение

/tmp/ccktgfzP.o:(.data+0xc): multiple definition of `pass1'                                                                                             
/tmp/cc89OBJZ.o:(.data+0xc): first defined here                                                                                                         
/tmp/ccktgfzP.o:(.data+0x8): multiple definition of `user1'                                                                                             
/tmp/cc89OBJZ.o:(.data+0x8): first defined here                                                                                                         
/tmp/ccktgfzP.o:(.data+0x4): multiple definition of `server1'
/tmp/cc89OBJZ.o:(.data+0x4): first defined here
/tmp/ccktgfzP.o:(.data+0x0): multiple definition of `db1'
/tmp/cc89OBJZ.o:(.data+0x0): first defined here
/tmp/ccvRK6bo.o:(.data+0x0): multiple definition of `db1'
Вот как с этим вообще бороться? Не хотелось бы в каждом файле определять новые константы или пространство имен лишнее создавать. Ведь можно же как-то сказать компилятору что этот файл один для всего проекта и нечего лишний раз орать при встрече таких то определений.

jeep
()

mysql++ вопрос по с++

Форум — Development

Здравствуйте! В общем небольшой тупняк какой-то. lanlib.cpp

#include "../include/lanlib.h"

taccounts get_accounts_inf(const char* db,const char* server,const char* user, const char* pass,int uid){
		mysqlpp::Connection con(db, server, user, pass);
		stringstream q;
			q<<"select \
			uid,\
			login,\
			pass,\
			balance,\
			descr,\
			name,\
			phone,\
			agrm_num,\
			agrm_date,\
			email,\
			bill_delivery,\
			inn,\
			street,\
			bnum,\
			bknum,\
			apart \
			from accounts where uid=";
			q<<uid;
			mysqlpp::Query query = con.query(q.str());
			taccounts res;
			query.storein(res);
			return res;
}
lanlib.h
#ifndef LAN_LIB___USER_AAA
#define LAN_LIB___USER_AAA
#include <mysql++/mysql++.h>
#include "./stock.h"
#include <iostream>
#include <vector>
#include <string>
#include <sstream>
using namespace std;
typedef vector<accounts::accounts> taccounts;
//typedef vector<bills::bills> tbills;
taccounts get_accounts_inf(const char*,const char*,const char*, const char*,int);
//tbills get_bills_inf(const char*,const char*,const char*, const char*,int);
#endif //LAN_LIB___USER_AAA

stock.h

#ifndef STOCK_STURCTURE_AAA
#define STOCK_STURCTURE_AAA
#include <mysql++/mysql++.h>
#include <mysql++/ssqls.h>
namespace accounts{
sql_create_18(accounts,
	1, 18, // The meaning of these values is covered in the user manual
	mysqlpp::sql_int, uid,
	mysqlpp::sql_varchar, login,
	mysqlpp::sql_varchar, pass,
	
	mysqlpp::sql_int, type,
	mysqlpp::sql_double, balance,
	mysqlpp::sql_text, descr,
	
	mysqlpp::sql_varchar, name,
	mysqlpp::sql_varchar, phone,
	mysqlpp::sql_varchar, agrm_num,
	
	mysqlpp::sql_varchar, agrm_date,
	mysqlpp::sql_varchar, email,
	mysqlpp::sql_tinyint, bill_delivery,
	
	mysqlpp::sql_varchar, inn,
	mysqlpp::sql_varchar, city,
	mysqlpp::sql_varchar, street,
	
	mysqlpp::sql_varchar, bnum,
	mysqlpp::sql_varchar, bknum,
	mysqlpp::sql_varchar, apart
	)
}
#endif

pay.cpp

#include "../include/stock.h"
#include "../include/lanlib.h"
#include <mysql++/mysql++.h>
#include <iostream>
#include <vector>
#include <string>
#include <sstream>

using namespace std;
int
main(int argc, char *argv[])
{

			
const char* db = "billing", *server = "62.118.130.17", *user = "anton", *pass = "5790";
taccounts res = get_accounts_inf("based","localhost","user","sss",45);
			cout << "We have:" << endl;
		taccounts::iterator it;
        for (it = res.begin(); it != res.end(); ++it) {
            cout << '\t' << it->name;
            cout << " (" << it->uid << ")";
            cout << endl;
        }
return 0;
}
компилирую g++ -I/usr/include/mysql -o./pay ./pay.cpp ./lanlib.cpp -lmysqlpp Получаю ошибки
/tmp/cccwEx2h.o:(.data+0x0): multiple definition of `accounts::accounts::names'
/tmp/ccoGZT4X.o:(.data+0x0): first defined here
/tmp/cccwEx2h.o:(.data+0x48): multiple definition of `accounts::accounts::table_'
/tmp/ccoGZT4X.o:(.data+0x48): first defined here
collect2: выполнение ld завершилось с кодом возврата 1
Чето второй день уже туплю. Помогите пожалуйста.

jeep
()

линковка сишных либ к программе на с++

Форум — Development

Есть простой класс использующий ctime. #include <ctime>

using namespace std; class CDate{ time_t dtime; tm timestrct; public: CDate(); //CDate(long int); //CDate(time_t); //string gettime() const; };

int main() { CDate s;

return 0; }

При компиляции g++ по понятным причинам ругаетсо. g++ ./pay.cpp -o pay -lmysqlpp pay.cpp:(.text+0x7c): undefined reference to `CDate::CDate()' collect2: выполнение ld завершилось с кодом возврата 1

Какую либу ему нужно прилинковать чтобы он заткнулся?

jeep
()

cp1251 to utf-8

Форум — Development

Здравствуйте! Получаю ответ на запрос из mysql базы в кодировке cp1251. В консоль ответ, естетсвенно вываливается в виде знаков ?. Как бы мне перекодировать ответ из кодировки cp1251 в utf8. Есть ли какие-нибудь простые решения в виде готового кода?

jeep
()

CMI8338 компиляция драйвера

Форум — Linux-hardware

Не могу найти дрова для этой карточки в деб пакете. Нашел только тар архив с cmpci.с cmpci confic.in configure.help readme файлами. Что делать? как его компилировать и куда его пихнуть и как загрузиить? В редми предлагают перекомпилировать ядро. А так не хочется!

jeep
()

error loading library

Форум — Development

Здравствуйте! В общем есть прока под которую была написана .so либа. Успешно скомпилирована на своей машине и подгружена нужной программой. После компиляции на другой машине и запуска программы получаю сообщение об ошибке error loading library /usr/local/some/foo/abi.so Как определитть что не так?

jeep
()

Сборщик ядра

Форум — Linux-install

Здравствуйте! В общем мне интересно как дистриб линукса собирает информацию о железе и создает ядро при инсталяции с сд диска. Есть ли подобная программа которая могла бы собрать конфиг для ядра?

jeep
()

прилинковать к .so .a файл

Форум — Development

Написал либу lalala.so нужно ее сделать максимально статической. В ней используется libmysqlclient хотелось бы ее статически прилинковать к lalala.so . Компилирую так: gcc -fPIC lalala.c -shared -o lalala.so -L/usr/lib/mysql -lmysqlclient -static -lm -lz

Где там ошибка? Как сделать максимально переносимый файл чтобы он все статически прилинковал. Собственно задача такая чтобы запустить его на фряхе.

jeep
()

автопрозвонка+модем zyxel

Форум — General

Здравствуйте! В общем есть модем,обычная телефонная линия. Нужно установить соединение с абонентом и воспроизвести звуковое сообщение. Как бы это нужно как временное решение пока циску 5350 не установили. А потом все на * переведу. Помогите пожалуйста. Возможно под линух уже есть такие утилиты.

jeep
()

RSS подписка на новые темы