LINUX.ORG.RU

Сообщения jeep

 
Форум — Development

mime

jeep
()
Форум — Development

QMimeData

jeep
()
Форум — Development

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

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

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
()
Форум — Development

[QT] subclassing

Здравствуйте! ДОпустим я в 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
()
Форум — Development

multiple definition

Здравствуйте! Я тут с траблом столкнулся и никак не найти хорошего решения. Есть файл 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
()
Форум — Development

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

Здравствуйте! В общем небольшой тупняк какой-то. 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
()
Форум — Development

cp1251 to utf-8

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

jeep
()
Форум — Linux-hardware

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

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

jeep
()
Форум — Development

error loading library

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

jeep
()
Форум — Linux-install

Сборщик ядра

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

jeep
()
Форум — Development

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

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

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

jeep
()
Форум — General

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

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

jeep
()

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