http://doc.qt.io/qt-5/qtcpsocket.html // client QTcpSocket *tcpSocket; QDataStream in; MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow), tcpSocket(new QTcpSocket(this)) ... connect(tcpSocket, &QIODevice::readyRead, this, &MainWindow::readClient); typedef void (QAbstractSocket::*QAbstractSocketErrorSignal)(QAbstractSocket::SocketError); connect(tcpSocket, stat..
http://doc.qt.io/qt-5/QSqlTableModel.html QSqlTableModel *model = new QSqlTableModel(parentObject, database); model->setTable("employee"); model->setEditStrategy(QSqlTableModel::OnManualSubmit); model->select(); model->setHeaderData(0, Qt::Horizontal, tr("Name")); model->setHeaderData(1, Qt::Horizontal, tr("Salary")); QTableView *view = new QTableView; view->setModel(model); view->hideColumn(0);..
http://doc.qt.io/qt-5/qcombobox.html connect(comboBox, static_cast(&QComboBox::activated), [=](int index){ /* ... */ }); connect(comboBox, static_cast(&QComboBox::activated), [=](const QString &text){ /* ... */ }); connect(comboBox, static_cast(&QComboBox::currentIndexChanged), [=](int index){ /* ... */ }); connect(comboBox, static_cast(&QComboBox::currentIndexChanged), [=](const QString &text){..
http://doc.qt.io/qt-5/QMainWindow.html void MainWindow::createMenus() { fileMenu = menuBar()->addMenu(tr("&File")); fileMenu->addAction(newAct); fileMenu->addAction(openAct); fileMenu->addAction(saveAct); void MainWindow::createToolBars() { fileToolBar = addToolBar(tr("File")); fileToolBar->addAction(newAct); QDockWidget *dockWidget = new QDockWidget(tr("Dock Widget"), this); dockWidget->setAllo..
http://doc.qt.io/qt-5/QMessageBox.html const QIcon openIcon = QIcon::fromTheme("document-open", QIcon(":/images/open.png")); QAction *openAct = new QAction(openIcon, tr("&Open..."), this); openAct->setShortcuts(QKeySequence::Open); openAct->setStatusTip(tr("Open an existing file")); connect(openAct, &QAction::triggered, this, &MainWindow::open); fileMenu->addAction(openAct); fileToolBar->addActi..
http://doc.qt.io/qt-5/QMessageBox.html QSqlTableModel *model = new QSqlTableModel(parentObject, database); model->setTable("employee"); model->setEditStrategy(QSqlTableModel::OnManualSubmit); model->select(); model->setHeaderData(0, Qt::Horizontal, tr("Name")); model->setHeaderData(1, Qt::Horizontal, tr("Salary")); QTableView *view = new QTableView; view->setModel(model); view->hideColumn(0); //..
http://doc.qt.io/qt-5/QMessageBox.html QMessageBox msgBox; msgBox.setText("The document has been modified."); msgBox.exec(); QMessageBox msgBox; msgBox.setText("The document has been modified."); msgBox.setInformativeText("Do you want to save your changes?"); msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel); msgBox.setDefaultButton(QMessageBox::Save); int..
http://doc.qt.io/qt-5/QSettings.html # this is a Sample ini file [GROUPA] PARAM1 = 10 PARAM2 = 20 [GROUPB] PARAM1 = 30 PARAM2 = 40 PARAM3 = ABC // Load Application params from ini file QSettings settings( iniFileName, QSettings::IniFormat ); settings.beginGroup("GROUPA"); int param1 = settings.value("PARAM1").toInt(); int param2 = settings.value("PARAM2").toInt(); settings.endGroup(); settings.b..
http://doc.qt.io/qt-5/QTreeView.html QFileSystemModel *model = new QFileSystemModel; model->setRootPath(QDir::currentPath()); QTreeView *tree = new QTreeView(splitter); tree->setModel(model); #! /usr/bin/env python3 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # In this prototype/example a QTreeView is created. Then it's populated with # three containers and a..
http://doc.qt.io/qt-5/QFontMetrics.html int QFontMetix::width(QChar ch) const; int QFontMetix::width(const QString &text, int len, int flags) const; int QFontMetix::width(const QString &text, int len = -1) const; QLabel testLabel("레이블 테스트입니다."); QFontMetrix fontMetrics(testLabel.font()); const int horizontalMargin = 10; int labelWidth = fontMetrics.width(testLabel.text()) + widthMargin; testLabe..