小编Chr*_*cho的帖子

QTableView:如何正确创建QModelIndex?

我正试图在特定单元格上进入编辑模式,如下所示:

void MainWindow::on_addButton_released() {
    tm->addRow();
    tableView->scrollToBottom();
    int ec=tm->firstWritableColumn();
    int r=tm->rowCount(QModelIndex());
    QModelIndex id = tm->index(r, ec, QModelIndex());
    tableView->setCurrentIndex(id);
    tableView->edit(id);
    qDebug() << "row:" << r << " col:" << ec << "index:" << id;
}
Run Code Online (Sandbox Code Playgroud)

我的模型创建了一个这样的索引:

QModelIndex TableModel::index(int row,int column,QModelIndex parent) const {
    Q_UNUSED(parent);
    return createIndex(row,column,0);
}
Run Code Online (Sandbox Code Playgroud)

调试输出如下所示:

row: 9  col: 1 index: QModelIndex(9,1,0x0,TableModel(0xbf3f50) )  
Run Code Online (Sandbox Code Playgroud)

我很确定索引在某种程度上是无效的,因为setCurrentIndex()它似乎不起作用.

qt qtableview qmodelindex

11
推荐指数
1
解决办法
2万
查看次数

在Makefile中保存生成进程的PID

我目前有一个Makefile规则:

start:
    ./start.sh
Run Code Online (Sandbox Code Playgroud)

这将启动一个非常简单的服务器作为构建过程的一部分.我有另一个停止服务器的规则:

stop:
    kill `cat bin/server.PID`
Run Code Online (Sandbox Code Playgroud)

这是start.sh脚本:

#!/bin/bash
cd bin
python server.py &
echo $! > server.PID
Run Code Online (Sandbox Code Playgroud)

必须从bin目录中运行NB server.py

我想在启动规则中实现start.sh的功能,我尝试了很多东西,但似乎无法获得PID.

pid makefile

10
推荐指数
1
解决办法
5624
查看次数

Gtk:获取每个监视器的可用区域(不包括面板)

使用gdk_screen_get_monitor_geometry,我可以得到像素的总面积和每个监视器的相对位置,即使有两个或更多用作单个屏幕.

但是,我想获得每个监视器的可用区域(即不包括面板).我发现的唯一的东西是_NET_WORKAREA,但这是一个跨越所有显示器的巨大区域.根据分辨率和排列,该区域内可能有面板.

如何获得每台显示器的实际可用面积?理想情况下,仅使用Gtk/Gdk,没有X11特定的.

c x11 xlib gdk

7
推荐指数
1
解决办法
1273
查看次数

是否可以从yosys输出创建模拟波形

我发现使用iverilog进行模拟是一种不太合适的方法,我可以模拟不能合成的设计,相反的设计不仅可以合成,而且可以在物理硬件上按预期工作,不会与iverilog合成进行仿真.

我理想的做法是采用yosys(一个blif文件)的输出并创建一个我可以更有信心的模拟波形(vcd).

simulation verilog fpga yosys

6
推荐指数
1
解决办法
945
查看次数

C 如何从主作用域“隐藏”宏

如果有这样的例程,我希望主应用程序访问......

    char* get_widget_name(widget_t* w) {
        return name(w);
    }
Run Code Online (Sandbox Code Playgroud)

我想“隐藏”以下两个宏,同时显然在 get_widget_name 中使用

    #define GET_WIDGET(self) (&(self)->base.widget)
    #define name(self)      (GET_WIDGET(self)->name)
Run Code Online (Sandbox Code Playgroud)

我基本上在结构中使用联合来“模拟”C 中的 C++ 继承。

c inheritance struct scope unions

4
推荐指数
1
解决办法
1302
查看次数

如果makefile失败,请停止ant build

我有一个执行makefile的ant构建文件

        <target name="jni">
            <exec executable="make">
                <arg line="-f jni/Makefile"/>
            </exec>
        </target>
Run Code Online (Sandbox Code Playgroud)

但是如果make失败,将执行依赖于此规则的其他规则

如果jni规则失败,我怎么能阻止蚂蚁?

ant java-native-interface makefile

4
推荐指数
1
解决办法
1008
查看次数

php(PDO)将查找表中的行转换为简单数组的简单方法

给定一个非常简单的表结构:

mysql> describe songpart;
+----------+---------+------+-----+---------+----------------+
| Field    | Type    | Null | Key | Default | Extra          |
+----------+---------+------+-----+---------+----------------+
| id       | int(11) | NO   | MUL | NULL    | auto_increment |
| partName | text    | NO   |     | NULL    |                |
+----------+---------+------+-----+---------+----------------+
Run Code Online (Sandbox Code Playgroud)

这会在php中生成这样的数组(查询时)

Array ( [0] => Array ( [id] => 1 [0] => 1 [partName] => Lead Guitar [1] => Lead Guitar ) 
        [1] => Array ( [id] => 2 [0] => 2 [partName] => Bass Guitar …
Run Code Online (Sandbox Code Playgroud)

php mysql sql arrays pdo

2
推荐指数
1
解决办法
183
查看次数