好吧,我再次尝试使用Qt Creator上的Linux GUI应用程序,我在项目的Qt资源文件中添加了几个图像.我试图在我的主窗口和其他窗口和对话框中有一个很好的背景.我使用的是样式表选项(无编码).
我无法设置标签和按钮的透明度级别.关于如何从Qt创建者GUI本身做到这一点的任何想法???
!我正在附上我的应用程序的外观.
我为qt gui编写了以下代码,以查看QTableView(面向模型)中的查询输出.现在我想将此输出保存为.csv或.txt文件.有人建议使用QTableWidget(面向项目),但我想坚持基于模型的方法.
void MainWindow::on_pushButton_clicked()
{
db = QSqlDatabase::addDatabase("QOCI");
db.setHostName("host");
db.setDatabaseName("db");
db.setUserName("uid");
db.setPassword("pw");
db.setPort(port);
QString MyQuery = ui->lineEdit->text();
if (db.open())
{
qDebug()<<QDateTime::currentDateTime()<<"QUERY DONE SUCCESSFULLY ";
this->model=new QSqlQueryModel();
model->setQuery(MyQuery);
ui->tableView->setModel(model);
}
else
{
qDebug()<<QDateTime::currentDateTime()<<"YOU FORGOT THE QUERY "<<db.lastError().text();
}
Run Code Online (Sandbox Code Playgroud)
}
任何准则???
我有一个shell脚本,当在触摸屏PC(Uubntu Lucid Lynx)上执行时,它会在远程服务器上进行备份.现在,我希望通过在其上运行的GUI应用程序中创建一个小Button来实现自动化.该应用程序使用Qt和C++构建.
到现在为止,我可以使用QFileDialog打开文件夹浏览器并导航到.sh文件,但是可以直接打开定义的.sh文件(即通过定义名称和位置)吗?
有一些提示应该使用QProcess,但我对它的实现感到困惑.提前致谢.
最近我正在开发一个 GUI 应用程序,我想将 QTableView 的数据保存在 .csv 或 .txt 文件中。我使用了在这个问题中收到的指导,这让我思考相反的情况是否也可能;即 QTableView 是否可以从 .csv 或 .txt 文件填充。我再次更愿意使用基于模型的设计,例如 QTableView,而不是基于项目的 QTableWidget。
任何代码片段或教程文档都会非常有帮助。
好吧,我最近一直在做QT的实验,我有一台触摸屏Linux PC,我把它连接到WiFi网络.我没有想过为网络制作应用程序,而是用网络老式的方式.
接口就像,我会输入一个IP地址,应用程序将ping网络,让我知道IP是否可以ping通.当IP被ping时,将显示绿色检查,如果没有被ping,则会显示红色检查.
我的进步是,我能够在脚本文件中获取IP并ping它.但问题是如何将ping回复与应用程序接口.即两个标签(绿色和红色检查)???
提前致谢.我的GUI看起来像这样.

我写了一个用于测试数据库连接的qt小型控制台实用程序,代码块是:
db.setHostName("hostIP");
db.setDatabaseName("name");
db.setUserName("uid");
db.setPassword("pw");
db.setPort(1521);
while(true)
{
if (db.open())
{
qDebug()<<"OPEN";
db.close();
}
else
{
qDebug()<<"YOU MESSED UP "<<db.lastError().text();
}
}
Run Code Online (Sandbox Code Playgroud)
数据库关闭或无法连接的控制台输出可以在控制台输出中看到,我想要的也是开发时间戳.
有没有办法在控制台上打印事件时间戳以及qDebug消息???
我写了一个单行shell脚本来将.csv文件导入sqlite3数据库表.
echo -e '.separator "," \n.import testing.csv aj_test' | sqlite3 ajtest.db
Run Code Online (Sandbox Code Playgroud)
sqlite3 database = ajtest.db在ajtest.db = new_test中的sqlite3表
testing.csv有3列,第一列是int,其余两列是文本; 因此new_test的结构也是 -
sqlite> .schema aj_test
CREATE TABLE aj_test(number integer not null,
first_name varchar(20) not null,
last_name varchar(20) not null);
Run Code Online (Sandbox Code Playgroud)
当脚本运行时,它不会显示任何错误,但它也不会导入任何数据.关于我错过的任何指导方针???

我知道覆盖测试的理论,但实际上,CC 工具如何完成覆盖测量?我的意思是,它是否检查每个方法是否都有一个单元测试来测试它?单元测试是否以某种方式涉及行覆盖?我所能找到的只是覆盖标准等,但我根本不明白这些工具(例如声纳)实际上是如何衡量单元测试覆盖率的。
网络上充斥着类似的问题,但是对于我来说,没有什么适合解决当前问题的方法。
在我的QT-C ++应用程序中,我有一个带有某些功能的主窗口形式,有一个QPushButton,按此按钮可以打开QDialog。现在,表单中的所有功能都可以正常工作,但是我希望最终的应用程序没有任何顶部标题栏。即没有关闭/最小化/最大化按钮。
在我的main.cpp文件中,
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.setWindowFlags(Qt::Window | Qt::FramelessWindowHint);
w.show();
return a.exec();
}
Run Code Online (Sandbox Code Playgroud)
结果,主窗口变为-

对于dialog.cpp窗口,我设置了-
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
//QDialog Dialog(0, Qt::CustomizeWindowHint|Qt::WindowTitleHint); --- used this also; no use
QDialog Dialog(0, Qt::FramelessWindowHint | Qt::Dialog);
Run Code Online (Sandbox Code Playgroud)
但是QDialog的标题栏仍然保留,看起来像-

我要去哪里错了?关于如何删除关闭按钮和标题栏的任何想法?
我正在尝试实现QT Qthread的sleep函数,所以我在头文件中声明为 -
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow {
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
static void sleep(unsigned long secs){QThread::sleep(secs);}
protected:
void changeEvent(QEvent *e);
private:
Ui::MainWindow *ui;
private slots:
void on_pushButton_clicked();
};
Run Code Online (Sandbox Code Playgroud)
在我的源代码中我正在做的是在连接到数据库之后,我想要一个标签来改变背景颜色(有点像发光效果),所以我尝试从一个while(true)循环内部调用sleep函数.
while(db.open())
{
MainWindow::sleep(13);
qDebug()<<"Success ";
ui->glow_label->setStyleSheet("QLabel {background-color: rgb(0, 255, 0);}");
MainWindow::sleep(5);
ui->glow_label->setStyleSheet("QLabel {background-color: rgb(0, 85, 255);}");
}
Run Code Online (Sandbox Code Playgroud)
但它在构建时显示错误 - >
/usr/local/Trolltech/Qt-4.8.4/include/QtCore/qthread.h:115:错误:'static void QThread :: sleep(long unsigned int)'受保护/ home/aj/MY_QT_WORK/timer_test/mainwindow .h:22:错误:在这种情况下
我做错了什么想法?
现在我发现自己处在一个特别令人困惑的地方.
我有一个元素数组1 5 9(例如a1 a2 a3) 和第二个元素数组2 4 8(例如b1 b2 b3)
我希望输出为1,2 5,4 9,8(即a1,b1 a2,b2 a3,b3) ...是否可能,我尝试的所有循环都将整个事情分类为1,2,4 ,5,8,9 ???
提前致谢.
代码块:
void merge(int a[], int m, int b[], int n, int sorted[]) {
int i, j, k;
j = k = 0;
for (i = 0; i < m + n;) {
if (j < m && k < n) {
if (a[j] < b[k]) {
sorted[i] = a[j];
j++;
}
else {
sorted[i] = b[k];
k++; …Run Code Online (Sandbox Code Playgroud) 我正在制作一个小型GUI应用程序,我在其中创建了一个弹出对话框,提示用户按OK或CANCEL.如果用户按下OK,则会保存一些更改,如果用户按CANCEL,则会丢弃更改.
现在,我想在QLabel对象内的对话框中放一个计时器,它将显示如下 -

在5秒内发送消息,在4秒内发送消息,.. ..在1秒内发送消息.
倒计时结束后,将考虑默认"OK",并保存所有更改.如何在GUI应用程序上实现这样的视觉效果?我的意思是实现一个concole计时器很容易,但如何通过GUI屏幕可视化计时器??? 任何帮助..
c++ ×9
qt ×8
qt4 ×6
shell ×2
arrays ×1
c ×1
csv ×1
ip-address ×1
linux ×1
qdialog ×1
qprocess ×1
qt-designer ×1
qtableview ×1
qthread ×1
sonarqube ×1
sorting ×1
sqlite ×1
stylesheet ×1
timer ×1
timestamp ×1
unit-testing ×1