Russian Qt Forum
Апрель 26, 2024, 13:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: [1] 2 3 ... 6
1  Qt / Пользовательский интерфейс (GUI) / Re: QFileDialog с выбором не только файлов, но и папок : Сентябрь 24, 2019, 00:20
имхо вам qfilesystemmodel нужна
https://doc.qt.io/QT-5/qfilesystemmodel.html#details
или можно через QFileDialog.setFilter
https://doc.qt.io/QT-5/qfiledialog.html#setFilter
2  Qt / Общие вопросы / Re: Получить с QtextEdit символ возврата каретки : Июнь 09, 2019, 22:52
https://doc.qt.io/Qt-5/qstring.html#replace-7
3  Qt / Общие вопросы / Re: Как обеспечить снятие подсветки символов QLineEdit при потере фокуса. : Май 14, 2019, 08:57
есть старенький пример
http://doc.crossplatform.ru/qt/4.7.x/widgets-calculator.html
по нему все было ОК
4  Qt / Вопросы новичков / Re: Qt сохранение введенных данных во второй форме : Май 11, 2019, 19:35
 стандартное решение - QInputDialog
https://doc.qt.io/qt-5/qinputdialog.html
5  Qt / Общие вопросы / Re: Как обеспечить снятие подсветки символов QLineEdit при потере фокуса. : Май 11, 2019, 12:58
В строках объекта QTableWidget  вставлены QLineEdit-ы..
а с какой целью вставлены? в tablewidget не нужно ничего вставлять. код покажите
6  Qt / Пользовательский интерфейс (GUI) / Re: Как запретить закрытие окон под Astra Linux : Апрель 29, 2019, 10:44
OpenBox тоже рассматривался. Здесь, скорее всего будут проблемы с сертификацией под версию Special Edition, надо выяснять. /offtop Ну и кой-какой опыт я тоже накопил, заничвясь разработкой этого сорта ПО с 1983 г. :-) offtop/
вангую вы с линухами мало знакомы.
у астры есть свой сертифицированный репозиторий, можете из него скачать все что нужно.
по факту - тот же дебиан тока рабочий стол перепиленый
посмотрел на LiveCD с mirror.yandex.ru - опенбокс там есть по дефолту, можно выбрать при входе в выборе типа сессии, при подключении репы с яндекса ставится qtcreator





7  Qt / Пользовательский интерфейс (GUI) / Re: Как запретить закрытие окон под Astra Linux : Апрель 28, 2019, 11:00
Код:
#include <QApplication>
#include <QWidget>
#include <QString>
//#include <QDebug>
#include <QMessageBox>

int main(int argc, char** argv) {
    QApplication app(argc,argv);
    QWidget w;
    int ax=100,ay=100,aw=400,ah=300;
    if (argc == 5) {
        ax = QString::fromLocal8Bit(argv[1]).toInt();
        ay = QString::fromLocal8Bit(argv[2]).toInt();
        aw = QString::fromLocal8Bit(argv[3]).toInt();
        ah = QString::fromLocal8Bit(argv[4]).toInt();
    }
    //w.setWindowFlags(Qt::FramelessWindowHint|Qt::WindowStaysOnTopHint);
    w.setGeometry(ax,ay,aw,ah);
    while (1) {
        w.show();
        app.exec();
        QMessageBox box;
        box.setIcon(QMessageBox::Warning);
        box.setText("<font color=red>Приложение остановлено<br>Перезапустить?</font>");
        box.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
        box.setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
        int ok = box.exec();
        if (ok != QMessageBox::Ok) break;
    }
}
перезапуск с сообщением например. но по моему опыту - если комп нужен для контроля технологических процессов - ничего лишнего быть не должно. я бы максимум Openbox поставил как WM, без всяких Fly-kiosk
8  Qt / Пользовательский интерфейс (GUI) / Re: Как запретить закрытие окон под Astra Linux : Апрель 27, 2019, 13:18
Требуется полностью запретить пользователю закрывать и перемещать некоторые окна (не имеющие X или заголовка), а также запретить завершение приложений.
ну вот как вариант - неубираемое, незакрываемое и не перемещаемое окно
Код:
//respawn.cpp
#include <QApplication>
#include <QWidget>
#include <QString>

int main(int argc, char** argv) {
    QApplication app(argc,argv);
    QWidget w;
    int ax=100,ay=100,aw=400,ah=300;
    if (argc == 5) {
        ax = QString::fromLocal8Bit(argv[1]).toInt();
        ay = QString::fromLocal8Bit(argv[2]).toInt();
        aw = QString::fromLocal8Bit(argv[3]).toInt();
        ah = QString::fromLocal8Bit(argv[4]).toInt();
    }
    w.setWindowFlags(Qt::FramelessWindowHint|Qt::WindowStaysOnTopHint);
    w.setGeometry(ax,ay,aw,ah);
    while (1) {
        w.show();
        app.exec();
    }
}
запуск
Код
Bash
#!/bin/sh
 
./respawn &
./respawn 100 450 500 400 &
 
останов
Код
Bash
#!/bin/sh
 
pkill respawn
 
9  Qt / Пользовательский интерфейс (GUI) / Re: Как запретить закрытие окон под Astra Linux : Апрель 26, 2019, 17:23
можно перезапускать приложение без потери данных
mainwindow.h
Код:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H
mainwindow.cpp
Код:
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}
main.cpp
Код:
#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    while (1) {
        w.show();
        a.exec();
    }
    return 0;
}
mainwindow.ui
Код
XML
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
 <property name="geometry">
  <rect>
   <x>0</x>
   <y>0</y>
   <width>287</width>
   <height>265</height>
  </rect>
 </property>
 <property name="windowTitle">
  <string>MainWindow</string>
 </property>
 <widget class="QWidget" name="centralWidget">
  <layout class="QGridLayout" name="gridLayout">
   <item row="0" column="0">
    <widget class="QLineEdit" name="lineEdit"/>
   </item>
   <item row="1" column="0">
    <widget class="QSpinBox" name="spinBox"/>
   </item>
  </layout>
 </widget>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources/>
<connections/>
</ui>
 
10  Qt / Qt-инструментарий / Re: Qt Creator 4.9 OSX : Апрель 26, 2019, 16:52
именно 4.9 ?
у меня 4.7.1 не падал ни разу
11  Qt / Пользовательский интерфейс (GUI) / Re: Как запретить закрытие окон под Astra Linux : Апрель 26, 2019, 12:14
попробуйте dwm - самый простой

интересно как к этому отнесутся сами пользователи программы ? )
им будет неудобно, все же привыкли к обычным проведениям окон, мозг вынесут разработчику
если только не предполагается использовать комп для одной программы ТС

именно так и делается в серьезных системах - все, что не разрешено - запрещено
12  Qt / Пользовательский интерфейс (GUI) / Re: Как запретить закрытие окон под Astra Linux : Апрель 26, 2019, 09:16
Итого, похоже варианта всего два:
1. Повесить демона, перезапускающего UI при его закрытии (самое простое, но не очень красивое).
2. Взять готовый простейший WM и допилить его до нужного состояния (тут могут быть проблемы с сертификацией под SE).
Я, честно говоря, рассчитывал, что найдутся люди, поработавшие с библиотеками libflycore, libflyui, может в них что есть. Никакого описания их я пока не нашел :-(.
Спасибо за обсуждение.

я делал такие вещи в тайловых WM. попробуйте dwm - самый простой
13  Qt / Общие вопросы / Re: Qt LDAP авторизация под Ubuntu. : Март 09, 2019, 08:39
вы можете любую с++ библиотеку подключить к проекту, например
http://www.cyberforum.ru/qt/thread2351136.html
14  Qt / Пользовательский интерфейс (GUI) / Re: Кастомное меню : Июль 18, 2018, 04:47
Спасибо. А сами пункты на виджете реализовать списком?
по первому взгляду - QTreeView/QTreeWidget
типа того
http://blog.kislenko.net/show.php?id=1509
15  Qt / Общие вопросы / Re: Проверка корректности пути к файлу : Июль 10, 2018, 18:10
То что простой, не спорю. Только пока юзверь имя файла напишет, много файлов создастся. А если папка только на запись и удаление запрещенно? А путь как проверить? Особенно /dev/null - этак можно и в системе что нибудь сломать.
а что за права такие - писать можно, а удалять нельзя?
если я открою файл на запись и закрою его, файл обнулится.
Код
C++ (Qt)
QFile f("/home/user/file.txt")
if (!open(f,QIODevice::WriteOnly)) {
qDebug() << "error open file"
}
 
чем не подходит?
Страниц: [1] 2 3 ... 6

Страница сгенерирована за 0.112 секунд. Запросов: 23.